﻿
using AutoMapper;
using KstopaSmartPlc.Enums;
using KstopaSmartPlc.Monitoring.Dto;
using KstopaSmartPlc.Services.Smart;
using KstopaSmartPlc.Services.Smart.Dto;
using KstopaSmartPlc.Utils;
using Microsoft.AspNetCore.SignalR.Client;
using Prism.Services.Dialogs;
using System.Configuration;


namespace OP30.ViewModels
{
    public class MainWindowViewModel : BindableBase

    {
        private readonly IRegionManager _regionManager;
        private readonly ISmartService _smartService;
        private readonly IMapper _mapper;
        private readonly IDialogService _dialogService;
        private DispatcherTimer dispatcherTimer;
        public MainWindowViewModel(IRegionManager regionManager, ISmartService smartService, IMapper mapper, IDialogService dialogService)
        {
            _regionManager = regionManager;
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.AllStationView);
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.ST00View);
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.ST01View);
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.ST03View);
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.ST05View);
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.ST09View);
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.ST11View);
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.ST13View);
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.ST16View);
            _regionManager.RegisterViewWithRegion(PrismManager.MainViewRegionName, AppViews.AlarmsManagerView);
            _smartService = smartService;
            _smartService.OnSmartOtherCallBack = OnSmartOtherCallBack;
            _smartService.OnSmartStateCallBack = OnSmartStateCallBack;


#if DEBUG
            var Url = ConfigurationManager.AppSettings["DebugUrl"];

#else   
            var Url = ConfigurationManager.AppSettings["ReleaseUrl"];
#endif

            var task = Task.Run(async () =>
            {
                await smartService.SetHostUrl(Url);
                if (await smartService.ConnectAsync())
                {
                    await smartService.JoinGroup("OP30");
                }
                else
                {
                    MessageBox.Show("SmartPLC连接失败,请联系管理员!");
                    // 退出程序
                    Environment.Exit(0);
                }
            });
            task.Wait();
            _mapper = mapper;
            _dialogService = dialogService;
            Tittle = ReadConfigToTittle(ConfigurationManager.AppSettings["LineNo"].ToString());
            //开启定时器任务
            dispatcherTimer = new DispatcherTimer();
            dispatcherTimer.Interval = TimeSpan.FromMilliseconds(100);
            dispatcherTimer.Tick += OnTick;
            dispatcherTimer.Start();

            //开启后台线程
        }



        private int _i = 0;
        private bool b = true;
        #region 定时器
        private void OnTick(object? sender, EventArgs e)
        {

            Date = DateTime.Now.ToString("d");
            Time = DateTime.Now.ToString("T");

            #region 全局数据
            RecipeNo = SystemPLCToPC_Global.PartCode.ToString();
            AllCount = SystemPLCToPC_Global.nCounter;
            OkCount = SystemPLCToPC_Global.nCounterOK;
            NgCount = SystemPLCToPC_Global.nCounterNG;
            OkRate = SystemPLCToPC_Global.nOKrate;
            CT = SystemPLCToPC_Global.nCycleTime;
            Status = SystemPLCToPC_Global.nMachineStatus;
            if (Status == 0)
            {
                MachineStatus = "准备中";
            }
            else if (Status == 1)
            {
                MachineStatus = "报警";

            }
            else if (Status == 2)
            {
                MachineStatus = "运行中";

            }
            else if (Status == 3)
            {
                MachineStatus = "手动模式";

            }
            else if (Status == 4)
            {
                MachineStatus = "循环启动";

            }
            #endregion

            #region 右侧按钮状态

            BtnInitText = SystemPLCToPC_Global.bInitialing ? "初始化中" : "初始化";
            BtnRunText = SystemPLCToPC_Global.bHMIStartLamp ? "启动中" : "启动";
            BtnResetText = SystemPLCToPC_Global.bHMIResetLamp ? "复位" : "复位";
            BtnManualText = SystemPLCToPC_Global.bManualMode ? "手动模式" : "自动模式";
            BtnStopText = SystemPLCToPC_Global.bHMIStopLamp ? "停止中" : "停止";

            BtnInchText = SystemPCToPLC_Global.bHMIStep ? "步进模式中" : "步进模式";

            BtnClearText = SystemPLCToPC_Global.bClearingMat ? "清料中" : "清料";
            BtnClearText = SystemPLCToPC_Global.bClearCmp ? "清料完成" : "清料";



            IsBtnInit = SystemPLCToPC_Global.bInitialing;
            IsBtnRun = SystemPLCToPC_Global.bHMIStartLamp;
            IsBtnReset = SystemPLCToPC_Global.bHMIResetLamp;
            IsBtnStop = SystemPLCToPC_Global.bHMIStopLamp;
            IsBtnManual = SystemPLCToPC_Global.bManualMode;
            IsBtnInch = SystemPCToPLC_Global.bHMIStep;
            IsBtnClear = SystemPLCToPC_Global.bClearingMat;

            #endregion

            #region 初始化按钮触发
            //if (isBtnInit)
            //{
            //    if (DateTime.Now - btnInitStartTime > TimeSpan.FromSeconds(3))
            //    {
            //        //初始化
            //        SystemPCToPLC_Global.bInitialBT = true;
            //        isBtnInit = false;
            //    }
            //}


            //if (isBtnClear)
            //{
            //    if (DateTime.Now - btnClearStartTime > TimeSpan.FromSeconds(3))
            //    {
            //        SystemPCToPLC_Global.bCountClearBtn = true;
            //        isBtnClear = false;
            //    }
            //}
            #endregion

            #region SignalR监听
            //闪烁
            //if (_i >= 5)
            //{
            //    _i = 0;
            //}

            //if (_i <= 3)
            //{
            //    //亮
            //    var a = _smartService.GetConnected();
            //    if (a == HubConnectionState.Connected)
            //    {
            //        SignalRState = 2;
            //    }
            //    else
            //    {
            //        SignalRState = 1;
            //    }
            //}
            //else
            //{
            //    //灭
            //    SignalRState = 0;
            //}
            //_i++;

            var a = _smartService.GetConnected();
            if (a == HubConnectionState.Connected)
            {
                SignalRState = 2;
            }
            else
            {
                SignalRState = 1;
            }
            //PLC状态监听

            //if (b)
            //{
            //    PlcState = 0;
            //}
            //b = !b;

            #endregion
            IsLogin = LoginInfo.IsLogin;

        }

        #endregion

        #region 事件
        private DelegateCommand _CloseCmd;
        public DelegateCommand CloseCmd =>
            _CloseCmd ?? (_CloseCmd = new DelegateCommand(ExecuteCloseCmd));

        void ExecuteCloseCmd()
        {
            Environment.Exit(0);
        }



        private DelegateCommand<string> _OpenCmd;
        public DelegateCommand<string> OpenCmd =>
            _OpenCmd ?? (_OpenCmd = new DelegateCommand<string>(ExecuteOpenCmd));

        void ExecuteOpenCmd(string parameter)
        {
            if (parameter == "Home")
            {
                _regionManager.RequestNavigate(PrismManager.MainViewRegionName, AppViews.AllStationView);
            }
            else if (parameter == "Menu")
            {
                _regionManager.RequestNavigate(PrismManager.MainViewRegionName, AppViews.MenuView);

            }
            else if (parameter == "Warning")
            {
                _regionManager.RequestNavigate(PrismManager.MainViewRegionName, AppViews.AlarmsManagerView);

            }
        }
        /*
        * 清料按钮必须按下3s才会起效果，防止误操作
        */
        private bool isBtnClear = false;
        private DateTime btnClearStartTime = DateTime.Now;


        private DelegateCommand _BtnClearMouseDownCmd;
        public DelegateCommand BtnClearMouseDownCmd =>
            _BtnClearMouseDownCmd ?? (_BtnClearMouseDownCmd = new DelegateCommand(ExecuteBtnClearMouseDownCmd));

        void ExecuteBtnClearMouseDownCmd()
        {
            //btnClearStartTime = DateTime.Now;
            //isBtnClear = true;

            SystemPCToPLC_Global.bClearMatBtn = true;

        }

        private DelegateCommand _BtnClearMouseUpCmd;
        public DelegateCommand BtnClearMouseUpCmd =>
            _BtnClearMouseUpCmd ?? (_BtnClearMouseUpCmd = new DelegateCommand(ExecuteBtnClearMouseUpCmd));

        void ExecuteBtnClearMouseUpCmd()
        {
            SystemPCToPLC_Global.bClearMatBtn = false;
            //  isBtnClear = false;
        }
        /*
         * 初始化按钮必须按下3s才会起效果，防止误操作
         */
        private bool isBtnInit = false;
        private DateTime btnInitStartTime = DateTime.Now;


        /// <summary>
        /// 初始化按钮按下事件
        /// </summary>
        private DelegateCommand _BtnInitMouseDownCmd;
        public DelegateCommand BtnInitMouseDownCmd =>
            _BtnInitMouseDownCmd ?? (_BtnInitMouseDownCmd = new DelegateCommand(ExecuteBtnInitMouseDownCmd));

        void ExecuteBtnInitMouseDownCmd()
        {
            //btnInitStartTime = DateTime.Now;
            //isBtnInit = true;
            SystemPCToPLC_Global.bInitialBT = true;

        }

        /// <summary>
        /// 初始化按钮松开事件
        /// </summary>
        private DelegateCommand _BtnInitMouseUpCmd;
        public DelegateCommand BtnInitMouseUpCmd =>
            _BtnInitMouseUpCmd ?? (_BtnInitMouseUpCmd = new DelegateCommand(ExecuteBtnInitMouseUpCmd));

        void ExecuteBtnInitMouseUpCmd()
        {
            SystemPCToPLC_Global.bInitialBT = false;
            // isBtnInit = false;
        }

        /// <summary>
        /// 启动按钮按下事件
        /// </summary>
        private DelegateCommand _BtnRunMouseDownCmd;
        public DelegateCommand BtnRunMouseDownCmd =>
            _BtnRunMouseDownCmd ?? (_BtnRunMouseDownCmd = new DelegateCommand(ExecuteBtnRunMouseDownCmd));

        void ExecuteBtnRunMouseDownCmd()
        {
            SystemPCToPLC_Global.bHMIStart = true;
        }

        /// <summary>
        /// 启动按钮松开事件
        /// </summary>
        private DelegateCommand _BtnRunMouseUpCmd;
        public DelegateCommand BtnRunMouseUpCmd =>
            _BtnRunMouseUpCmd ?? (_BtnRunMouseUpCmd = new DelegateCommand(ExecuteBtnRunMouseUpCmd));

        void ExecuteBtnRunMouseUpCmd()
        {
            SystemPCToPLC_Global.bHMIStart = false;
        }
        /// <summary>
        /// 复位按钮按下事件
        /// </summary>
        private DelegateCommand _BtnResetMouseDownCmd;
        public DelegateCommand BtnResetMouseDownCmd =>
            _BtnResetMouseDownCmd ?? (_BtnResetMouseDownCmd = new DelegateCommand(ExecuteBtnResetMouseDownCmd));

        void ExecuteBtnResetMouseDownCmd()
        {
            SystemPCToPLC_Global.bHMIReset = true; // bHMIReset
        }
        /// <summary>
        /// 复位按钮松开事件
        /// </summary>
        private DelegateCommand _BtnResetMouseUpCmd;
        public DelegateCommand BtnResetMouseUpCmd =>
            _BtnResetMouseUpCmd ?? (_BtnResetMouseUpCmd = new DelegateCommand(ExecuteBtnResetMouseUpCmd));

        void ExecuteBtnResetMouseUpCmd()
        {
            SystemPCToPLC_Global.bHMIReset = false; // bHMIReset
        }

        /// <summary>
        /// 停止按钮按下事件
        /// </summary>
        private DelegateCommand _BtnStopMouseDownCmd;
        public DelegateCommand BtnStopMouseDownCmd =>
            _BtnStopMouseDownCmd ?? (_BtnStopMouseDownCmd = new DelegateCommand(ExecuteBtnStopMouseDownCmd));

        void ExecuteBtnStopMouseDownCmd()
        {
            SystemPCToPLC_Global.bHMIStop = true; // bHMIStop
        }
        /// <summary>
        /// 停止按钮松开事件
        /// </summary>
        private DelegateCommand _BtnStopMouseUpCmd;
        public DelegateCommand BtnStopMouseUpCmd =>
            _BtnStopMouseUpCmd ?? (_BtnStopMouseUpCmd = new DelegateCommand(ExecuteBtnStopMouseUpCmd));

        void ExecuteBtnStopMouseUpCmd()
        {
            SystemPCToPLC_Global.bHMIStop = false; // bHMIStop
        }


        private DelegateCommand _BtnManualMouseDownCmd;
        public DelegateCommand BtnManualMouseDownCmd =>
            _BtnManualMouseDownCmd ?? (_BtnManualMouseDownCmd = new DelegateCommand(ExecuteBtnManualMouseDownCmd));

        void ExecuteBtnManualMouseDownCmd()
        {
            SystemPCToPLC_Global.bManualModeBT = true; // 
        }

        private DelegateCommand _BtnManualMouseUpCmd;
        public DelegateCommand BtnManualMouseUpCmd =>
            _BtnManualMouseUpCmd ?? (_BtnManualMouseUpCmd = new DelegateCommand(ExecuteBtnManualMouseUpCmd));

        void ExecuteBtnManualMouseUpCmd()
        {
            SystemPCToPLC_Global.bManualModeBT = false;
        }

        //寸动 取反
        private DelegateCommand _BtnInchCmd;
        public DelegateCommand BtnInchCmd =>
            _BtnInchCmd ?? (_BtnInchCmd = new DelegateCommand(ExecuteBtnInchCmd));

        void ExecuteBtnInchCmd()
        {
            SystemPCToPLC_Global.bHMIStep = !SystemPCToPLC_Global.bHMIStep;
        }


        private DelegateCommand _LoginCmd;
        public DelegateCommand LoginCmd =>
            _LoginCmd ?? (_LoginCmd = new DelegateCommand(ExecuteLoginCmd));

        void ExecuteLoginCmd()
        {
            _dialogService.ShowDialog("LoginView", callback =>
            {
                if (callback.Result == ButtonResult.OK)
                {
                    LoginInfo.IsLogin = true;
                }
            });
        }

        #endregion

        #region 属性 

        // 日期和时间
        private String _Date;
        public String Date
        {
            get { return _Date; }
            set { SetProperty(ref _Date, value); }
        }

        private String _Time;
        public String Time
        {
            get { return _Time; }
            set { SetProperty(ref _Time, value); }
        }
        //右侧按钮
        private string _BtnClearText;
        public string BtnClearText
        {
            get { return _BtnClearText; }
            set { SetProperty(ref _BtnClearText, value); }
        }

        //初始化
        private string _BtnInitText;
        public string BtnInitText
        {
            get { return _BtnInitText; }
            set { SetProperty(ref _BtnInitText, value); }
        }


        //启动
        private string _BtnRunText;
        public string BtnRunText
        {
            get { return _BtnRunText; }
            set { SetProperty(ref _BtnRunText, value); }
        }
        //

        //复位
        private string _BtnResetText;
        public string BtnResetText
        {
            get { return _BtnResetText; }
            set { SetProperty(ref _BtnResetText, value); }
        }


        //手动
        private string _BtnManualText;
        public string BtnManualText
        {
            get { return _BtnManualText; }
            set { SetProperty(ref _BtnManualText, value); }
        }

        //停止
        private string _BtnStopText;
        public string BtnStopText
        {
            get { return _BtnStopText; }
            set { SetProperty(ref _BtnStopText, value); }
        }


        //寸动
        private string _BtnInchText;
        public string BtnInchText
        {
            get { return _BtnInchText; }
            set { SetProperty(ref _BtnInchText, value); }
        }



        private bool _IsBtnClear;
        public bool IsBtnClear
        {
            get { return _IsBtnClear; }
            set { SetProperty(ref _IsBtnClear, value); }
        }

        private bool _IsBtnInit;
        public bool IsBtnInit
        {
            get { return _IsBtnInit; }
            set { SetProperty(ref _IsBtnInit, value); }
        }

        private bool _IsBtnRun;
        public bool IsBtnRun
        {
            get { return _IsBtnRun; }
            set { SetProperty(ref _IsBtnRun, value); }
        }

        private bool _IsBtnStop;
        public bool IsBtnStop
        {
            get { return _IsBtnStop; }
            set { SetProperty(ref _IsBtnStop, value); }
        }

        private bool _IsBtnManual;
        public bool IsBtnManual
        {
            get { return _IsBtnManual; }
            set { SetProperty(ref _IsBtnManual, value); }
        }

        private bool _IsBtnInch;
        public bool IsBtnInch
        {
            get { return _IsBtnInch; }
            set { SetProperty(ref _IsBtnInch, value); }
        }


        private bool _IsBtnReset;
        public bool IsBtnReset
        {
            get { return _IsBtnReset; }
            set { SetProperty(ref _IsBtnReset, value); }
        }

        #region 产品计数




        private string _RecipeNo;
        public string RecipeNo
        {
            get { return _RecipeNo; }
            set { SetProperty(ref _RecipeNo, value); }
        }

        private string _MachineStatus;
        public string MachineStatus
        {
            get { return _MachineStatus; }
            set { SetProperty(ref _MachineStatus, value); }
        }

        private int _Status;
        public int Status
        {
            get { return _Status; }
            set { SetProperty(ref _Status, value); }
        }


        private int _AllCount;
        public int AllCount
        {
            get { return _AllCount; }
            set { SetProperty(ref _AllCount, value); }
        }

        private int _OkCount;
        public int OkCount
        {
            get { return _OkCount; }
            set { SetProperty(ref _OkCount, value); }
        }

        private int _NgCount;
        public int NgCount
        {
            get { return _NgCount; }
            set { SetProperty(ref _NgCount, value); }
        }

        private float _OkRate;
        public float OkRate
        {
            get { return _OkRate; }
            set { SetProperty(ref _OkRate, value); }
        }

        private float _CT;
        public float CT
        {
            get { return _CT; }
            set { SetProperty(ref _CT, value); }
        }


        #endregion


        private int _SignalRState;
        public int SignalRState
        {
            get { return _SignalRState; }
            set { SetProperty(ref _SignalRState, value); }
        }


        private string _Tittle;
        public string Tittle
        {
            get { return _Tittle; }
            set { SetProperty(ref _Tittle, value); }
        }

        private int _PlcState;
        public int PlcState
        {
            get { return _PlcState; }
            set { SetProperty(ref _PlcState, value); }
        }
        private bool _IsLogin;
        public bool IsLogin
        {
            get { return _IsLogin; }
            set { SetProperty(ref _IsLogin, value); }
        }
        #endregion


        #region 标题转换

        private string ReadConfigToTittle(string config)
        {
            if (config == "1") { return "一线点火管OP30"; }
            else if (config == "2") { return "二线点火管OP30"; }
            else if (config == "3") { return "三线点火管OP30"; }
            else if (config == "4") { return "四线点火管OP30"; }
            else return "点火管OP30";
        }
        #endregion

        #region 其他区事件订阅


        private bool IsFirst = true;
        private bool IsFirst2 = true;
        private bool IsFirst3 = true;
        private void ParseSignalRObjR(SiemensOtherSignalROutput output)
        {

            ///参数区只读一次
            if (output.SiemensOtherInfo.ObjWClassName == nameof(ClassOP30Parameter))
            {

                if (IsFirst)
                {
                    var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassOP30Parameter>();

                    ST5ServoParam_Global.nAcc = objw.ClassOP30ParameterServoArr_3[0].P_S_Acc;
                    ST5ServoParam_Global.nDec = objw.ClassOP30ParameterServoArr_3[0].P_S_Dec;
                    ST5ServoParam_Global.Override = objw.ClassOP30ParameterServoArr_3[0].P_S_Override;
                    ST5ServoParam_Global.nHomeSpeed = objw.ClassOP30ParameterServoArr_3[0].P_S_HomeSpeed;
                    ST5ServoParam_Global.nHomePos = objw.ClassOP30ParameterServoArr_3[0].P_S_HomePos;
                    ST5ServoParam_Global.nJogSpeed = objw.ClassOP30ParameterServoArr_3[0].P_S_JogSpeed;
                    ST5ServoParam_Global.nHomeMode = objw.ClassOP30ParameterServoArr_3[0].P_S_HomeMode;

                    ST5ServoParam_Global.aWork[0].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[0].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[0].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[0].P_S_WorkSpeed;
                    ST5ServoParam_Global.aWork[1].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[1].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[1].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[1].P_S_WorkSpeed;
                    ST5ServoParam_Global.aWork[2].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[2].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[2].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[2].P_S_WorkSpeed;
                    ST5ServoParam_Global.aWork[3].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[3].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[3].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[3].P_S_WorkSpeed;
                    ST5ServoParam_Global.aWork[4].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[4].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[4].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[4].P_S_WorkSpeed;
                    ST5ServoParam_Global.aWork[5].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[5].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[5].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[5].P_S_WorkSpeed;
                    ST5ServoParam_Global.aWork[6].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[6].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[6].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[6].P_S_WorkSpeed;
                    ST5ServoParam_Global.aWork[7].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[7].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[7].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[7].P_S_WorkSpeed;
                    ST5ServoParam_Global.aWork[8].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[8].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[8].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[8].P_S_WorkSpeed;
                    ST5ServoParam_Global.aWork[9].aWorkPos = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[9].P_S_WorkPos;
                    ST5ServoParam_Global.aWork[9].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[9].P_S_WorkSpeed;



                    ST13ServoParam_Global.nAcc = objw.ClassOP30ParameterServoArr_3[1].P_S_Acc;
                    ST13ServoParam_Global.nDec = objw.ClassOP30ParameterServoArr_3[1].P_S_Dec;
                    ST13ServoParam_Global.Override = objw.ClassOP30ParameterServoArr_3[1].P_S_Override;
                    ST13ServoParam_Global.nHomeSpeed = objw.ClassOP30ParameterServoArr_3[1].P_S_HomeSpeed;
                    ST13ServoParam_Global.nHomePos = objw.ClassOP30ParameterServoArr_3[1].P_S_HomePos;
                    ST13ServoParam_Global.nJogSpeed = objw.ClassOP30ParameterServoArr_3[1].P_S_JogSpeed;
                    // ST13ServoParam_Global.nHomeMode = objw.ClassOP30ParameterServoArr_3[1].P_S_HomeMode;
                    ST13ServoParam_Global.aWork[0].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[0].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[0].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[0].P_S_WorkSpeed;
                    ST13ServoParam_Global.aWork[1].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[1].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[1].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[1].P_S_WorkSpeed;
                    ST13ServoParam_Global.aWork[2].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[2].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[2].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[2].P_S_WorkSpeed;
                    ST13ServoParam_Global.aWork[3].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[3].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[3].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[3].P_S_WorkSpeed;
                    ST13ServoParam_Global.aWork[4].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[4].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[4].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[4].P_S_WorkSpeed;
                    ST13ServoParam_Global.aWork[5].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[5].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[5].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[5].P_S_WorkSpeed;
                    ST13ServoParam_Global.aWork[6].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[6].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[6].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[6].P_S_WorkSpeed;
                    ST13ServoParam_Global.aWork[7].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[7].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[7].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[7].P_S_WorkSpeed;
                    ST13ServoParam_Global.aWork[8].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[8].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[8].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[8].P_S_WorkSpeed;
                    ST13ServoParam_Global.aWork[9].aWorkPos = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[9].P_S_WorkPos;
                    ST13ServoParam_Global.aWork[9].aWorkSpeed = objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[9].P_S_WorkSpeed;






                    InductorParam_Global.aByPass = objw.ClassParameterSensor.P_I_ByPassArr;
                    InductorParam_Global.aDelay = objw.ClassParameterSensor.P_I_DelayArr;


                    //TechniqueParam_Global.nPinWidthLimitDown = objw.ClassOP30ParameterTechnology.ClassParameterTechnologyLimitPinWidth.LimitL;
                    //TechniqueParam_Global.nPinWidthLimitUp = objw.ClassOP30ParameterTechnology.ClassParameterTechnologyLimitPinWidth.LimitH;
                    //TechniqueParam_Global.nWeldPressLimitDown = objw.ClassOP30ParameterTechnology.ClassParameterTechnologyWeldPress.LimitL;
                    //TechniqueParam_Global.nWeldPressLimitUp = objw.ClassOP30ParameterTechnology.ClassParameterTechnologyWeldPress.LimitH;
                    //TechniqueParam_Global.nWeldAreaLimitDown = objw.ClassOP30ParameterTechnology.ClassParametetTechnologyWeldArea.LimitL;
                    //TechniqueParam_Global.nWeldAreaLimitUp = objw.ClassOP30ParameterTechnology.ClassParametetTechnologyWeldArea.LimitH;


                    //TechniqueParam_Global.nParaData1 = objw.ClassOP30ParameterTechnology.ClassParameterTechnologyPara.ParaDataArr[0];
                    //TechniqueParam_Global.nParaData2 = objw.ClassOP30ParameterTechnology.ClassParameterTechnologyPara.ParaDataArr[1];
                    //TechniqueParam_Global.nParaData3 = objw.ClassOP30ParameterTechnology.ClassParameterTechnologyPara.ParaDataArr[2];
                    //TechniqueParam_Global.nParaData4 = objw.ClassOP30ParameterTechnology.ClassParameterTechnologyPara.ParaDataArr[3];





                    UseCount_Global.nParaData1 = objw.ClassOP30ParameterLifeControl.LifeControl_nParaData1;
                    UseCount_Global.nParaData2 = objw.ClassOP30ParameterLifeControl.LifeControl_nParaData2;
                    UseCount_Global.nParaData3 = objw.ClassOP30ParameterLifeControl.LifeControl_nParaData3;
                    UseCount_Global.nParaData4 = objw.ClassOP30ParameterLifeControl.LifeControl_nParaData4;
                    UseCount_Global.nParaData5 = objw.ClassOP30ParameterLifeControl.LifeControl_nParaData5;
                    UseCount_Global.nParaData6 = objw.ClassOP30ParameterLifeControl.LifeControl_nParaData6;


                    ContinuousNGCount_GLobal.nParaData0 = objw.ClassParameterContinuousNG.ContinuousNGArr[0];
                    ContinuousNGCount_GLobal.nParaData1 = objw.ClassParameterContinuousNG.ContinuousNGArr[1];
                    ContinuousNGCount_GLobal.nParaData2 = objw.ClassParameterContinuousNG.ContinuousNGArr[2];
                    ContinuousNGCount_GLobal.nParaData3 = objw.ClassParameterContinuousNG.ContinuousNGArr[3];
                    ContinuousNGCount_GLobal.nParaData4 = objw.ClassParameterContinuousNG.ContinuousNGArr[4];
                    ContinuousNGCount_GLobal.nParaData5 = objw.ClassParameterContinuousNG.ContinuousNGArr[5];
                    ContinuousNGCount_GLobal.nParaData6 = objw.ClassParameterContinuousNG.ContinuousNGArr[6];
                    ContinuousNGCount_GLobal.nParaData7 = objw.ClassParameterContinuousNG.ContinuousNGArr[7];
                    ContinuousNGCount_GLobal.nParaData8 = objw.ClassParameterContinuousNG.ContinuousNGArr[8];
                    ContinuousNGCount_GLobal.nParaData9 = objw.ClassParameterContinuousNG.ContinuousNGArr[9];

                    IsFirst = false;

                }
            }
            //读

            if (output.SiemensOtherInfo.ObjWClassName == nameof(ClassOP30CylinderW))
            {
                if (IsFirst2)
                {
                    var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassOP30CylinderW>();

                    ST01MaterialSpiltCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_BitW[0];
                    ST01MaterialSpiltCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_BitW[1];
                    ST01MaterialSpiltCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_BitW[2];
                    ST01MaterialSpiltCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_BackTimeW;
                    ST01MaterialSpiltCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_GoTimeW;

                    ST01ProductClampCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_BitW[0];
                    ST01ProductClampCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_BitW[1];
                    ST01ProductClampCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_BitW[2];
                    ST01ProductClampCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_BackTimeW;
                    ST01ProductClampCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_GoTimeW;


                    ST01ClampChuoWeiCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_BitW[0];
                    ST01ClampChuoWeiCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_BitW[1];
                    ST01ClampChuoWeiCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_BitW[2];
                    ST01ClampChuoWeiCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_BackTimeW;
                    ST01ClampChuoWeiCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_GoTimeW;

                    ST01LoadJackCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_BitW[0];
                    ST01LoadJackCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_BitW[1];
                    ST01LoadJackCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_BitW[2];
                    ST01LoadJackCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_BackTimeW;
                    ST01LoadJackCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_GoTimeW;

                    ST01LoadChuoWeiCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_BitW[0];
                    ST01LoadChuoWeiCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_BitW[1];
                    ST01LoadChuoWeiCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_BitW[2];
                    ST01LoadChuoWeiCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_BackTimeW;
                    ST01LoadChuoWeiCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_GoTimeW;

                    ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_BitW[0];
                    ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_BitW[1];
                    ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_BitW[2];
                    ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_BackTimeW;
                    ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_GoTimeW;

                    ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_BitW[0];
                    ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_BitW[1];
                    ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_BitW[2];
                    ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_BackTimeW;
                    ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_GoTimeW;

                    ST01CarrySpinCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_BitW[0];
                    ST01CarrySpinCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_BitW[1];
                    ST01CarrySpinCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_BitW[2];
                    ST01CarrySpinCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_BackTimeW;
                    ST01CarrySpinCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_GoTimeW;

                    ST01CarryUpDownCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_BitW[0];
                    ST01CarryUpDownCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_BitW[1];
                    ST01CarryUpDownCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_BitW[2];
                    ST01CarryUpDownCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_BackTimeW;
                    ST01CarryUpDownCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_GoTimeW;

                    ST01CarrierOpenCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_BitW[0];
                    ST01CarrierOpenCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_BitW[1];
                    ST01CarrierOpenCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_BitW[2];
                    ST01CarrierOpenCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_BackTimeW;
                    ST01CarrierOpenCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_GoTimeW;

                    ST3UpDownCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_BitW[0];
                    ST3UpDownCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_BitW[1];
                    ST3UpDownCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_BitW[2];
                    ST3UpDownCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_BackTimeW;
                    ST3UpDownCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_GoTimeW;

                    ST5UpDownCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_BitW[0];
                    ST5UpDownCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_BitW[1];
                    ST5UpDownCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_BitW[2];
                    ST5UpDownCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_BackTimeW;
                    ST5UpDownCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_GoTimeW;


                    ST5JackCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_BitW[0];
                    ST5JackCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_BitW[1];
                    ST5JackCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_BitW[2];
                    ST5JackCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_BackTimeW;
                    ST5JackCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_GoTimeW;


                    ST5ShielddUpDownCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_BitW[0];
                    ST5ShielddUpDownCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_BitW[1];
                    ST5ShielddUpDownCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_BitW[2];
                    ST5ShielddUpDownCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_BackTimeW;
                    ST5ShielddUpDownCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_GoTimeW;

                    ST5CarrierOpenCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_BitW[0];
                    ST5CarrierOpenCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_BitW[1];
                    ST5CarrierOpenCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_BitW[2];
                    ST5CarrierOpenCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_BackTimeW;
                    ST5CarrierOpenCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_GoTimeW;

                    ST9CoolBlowCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_BitW[0];
                    ST9CoolBlowCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_BitW[1];
                    ST9CoolBlowCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_BitW[2];
                    ST9CoolBlowCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_BackTimeW;
                    ST9CoolBlowCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_GoTimeW;

                    ST11UpDownCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_BitW[0];
                    ST11UpDownCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_BitW[1];
                    ST11UpDownCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_BitW[2];
                    ST11UpDownCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_BackTimeW;
                    ST11UpDownCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_GoTimeW;

                    ST11CarrierJackCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_BitW[0];
                    ST11CarrierJackCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_BitW[1];
                    ST11CarrierJackCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_BitW[2];
                    ST11CarrierJackCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_BackTimeW;
                    ST11CarrierJackCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_GoTimeW;

                    ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_BitW[0];
                    ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_BitW[1];
                    ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_BitW[2];
                    ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_BackTimeW;
                    ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_GoTimeW;

                    ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_BitW[0];
                    ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_BitW[1];
                    ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_BitW[2];
                    ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_BackTimeW;
                    ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_GoTimeW;

                    ST13DownMaterialCarryCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_BitW[0];
                    ST13DownMaterialCarryCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_BitW[1];
                    ST13DownMaterialCarryCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_BitW[2];
                    ST13DownMaterialCarryCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_BackTimeW;
                    ST13DownMaterialCarryCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_GoTimeW;

                    ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_BitW[0];
                    ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_BitW[1];
                    ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_BitW[2];
                    ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_BackTimeW;
                    ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_GoTimeW;

                    ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_BitW[0];
                    ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_BitW[1];
                    ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_BitW[2];
                    ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_BackTimeW;
                    ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_GoTimeW;

                    ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_BitW[0];
                    ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_BitW[1];
                    ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_BitW[2];
                    ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_BackTimeW;
                    ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_GoTimeW;

                    ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_BitW[0];
                    ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_BitW[1];
                    ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_BitW[2];
                    ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_BackTimeW;
                    ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_GoTimeW;

                    ST16UpDownCy.cylinderPCToPLC_Global.bManualBT = objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_BitW[0];
                    ST16UpDownCy.cylinderPCToPLC_Global.bOrgSenByPass = objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_BitW[1];
                    ST16UpDownCy.cylinderPCToPLC_Global.bWorkSenByPass = objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_BitW[2];
                    ST16UpDownCy.cylinderPCToPLC_Global.tBackTime = objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_BackTimeW;
                    ST16UpDownCy.cylinderPCToPLC_Global.tGoTime = objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_GoTimeW;

                    IsFirst2 = false;
                }
            }


            if (output.SiemensOtherInfo.ObjWClassName == nameof(ClassTurntableW))
            {
                if (IsFirst3)
                {
                    var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassTurntableW>();

                    TurntablePCToPLC_Global.nPressSetValue = objw.Turntable_ReservedW[0];
                    TurntablePCToPLC_Global.nCheckValue = objw.Turntable_ReservedW[1];
                    TurntablePCToPLC_Global.nCheckOffset = objw.Turntable_ReservedW[2];

                    IsFirst3 = false;
                }
            }

            switch (output.SiemensOtherInfo.ObjRClassName)
            {
                case nameof(ClassServoArrR):
                    {
                        var objr = output.SiemensOtherInfo.ObjR.JObjToClass<ClassServoArrR>();
                        ST5Servo_Global.ServoPLCToPC_Global.bPowerOK = objr.ClassServoRArr_6[0].Servo_BitR[0];
                        ST5Servo_Global.ServoPLCToPC_Global.bHomeCmp = objr.ClassServoRArr_6[0].Servo_BitR[1];
                        ST5Servo_Global.ServoPLCToPC_Global.bForwardMoving = objr.ClassServoRArr_6[0].Servo_BitR[2];
                        ST5Servo_Global.ServoPLCToPC_Global.bReverseMoving = objr.ClassServoRArr_6[0].Servo_BitR[3];
                        ST5Servo_Global.ServoPLCToPC_Global.bManualMoving = objr.ClassServoRArr_6[0].Servo_BitR[4];
                        ST5Servo_Global.ServoPLCToPC_Global.bNotInAutoPos = objr.ClassServoRArr_6[0].Servo_BitR[5];
                        ST5Servo_Global.ServoPLCToPC_Global.bAxisError = objr.ClassServoRArr_6[0].Servo_BitR[6];
                        ST5Servo_Global.ServoPLCToPC_Global.bAxisAlarm = objr.ClassServoRArr_6[0].Servo_BitR[7];
                        ST5Servo_Global.ServoPLCToPC_Global.bLimmitAlarm = objr.ClassServoRArr_6[0].Servo_BitR[8];
                        ST5Servo_Global.ServoPLCToPC_Global.bRelative = objr.ClassServoRArr_6[0].Servo_BitR[8];
                        ST5Servo_Global.ServoPLCToPC_Global.bMDI_Mode = objr.ClassServoRArr_6[0].Servo_BitR[9];
                        ST5Servo_Global.ServoPLCToPC_Global.bHomeDirection = objr.ClassServoRArr_6[0].Servo_BitR[8];
                        ST5Servo_Global.ServoPLCToPC_Global.bManualLock = objr.ClassServoRArr_6[0].Servo_BitR[10];
                        ST5Servo_Global.ServoPLCToPC_Global.bAutoLock = objr.ClassServoRArr_6[0].Servo_BitR[11];
                        ST5Servo_Global.ServoPLCToPC_Global.bOriginSensor = objr.ClassServoRArr_6[0].Servo_BitR[12];
                        ST5Servo_Global.ServoPLCToPC_Global.bCcwLimitSensor = objr.ClassServoRArr_6[0].Servo_BitR[13];
                        ST5Servo_Global.ServoPLCToPC_Global.bAxisBusy = objr.ClassServoRArr_6[0].Servo_BitR[14];
                        ST5Servo_Global.ServoPLCToPC_Global.bBreakOut = objr.ClassServoRArr_6[0].Servo_BitR[15];
                        ST5Servo_Global.ServoPLCToPC_Global.nActualPosition = objr.ClassServoRArr_6[0].Servo_ActualPositionR;
                        ST5Servo_Global.ServoPLCToPC_Global.nActualVelocity = objr.ClassServoRArr_6[0].Servo_ActualVelocityR;
                        ST5Servo_Global.ServoPLCToPC_Global.nAutoIndex = objr.ClassServoRArr_6[0].Servo_AutoIndexR;
                        ST5Servo_Global.ServoPLCToPC_Global.nCurrIndex = objr.ClassServoRArr_6[0].Servo_CurrIndexR;
                        ST5Servo_Global.ServoPLCToPC_Global.nAralmHMIdiaplay = objr.ClassServoRArr_6[0].Servo_AralmHMIdiaplayR;
                        ST5Servo_Global.ServoPLCToPC_Global.nFaultCode = objr.ClassServoRArr_6[0].Servo_FaultCodeR;

                        ST13Servo_Global.ServoPLCToPC_Global.bPowerOK = objr.ClassServoRArr_6[1].Servo_BitR[0];
                        ST13Servo_Global.ServoPLCToPC_Global.bHomeCmp = objr.ClassServoRArr_6[1].Servo_BitR[1];
                        ST13Servo_Global.ServoPLCToPC_Global.bForwardMoving = objr.ClassServoRArr_6[1].Servo_BitR[2];
                        ST13Servo_Global.ServoPLCToPC_Global.bReverseMoving = objr.ClassServoRArr_6[1].Servo_BitR[3];
                        ST13Servo_Global.ServoPLCToPC_Global.bManualMoving = objr.ClassServoRArr_6[1].Servo_BitR[4];
                        ST13Servo_Global.ServoPLCToPC_Global.bNotInAutoPos = objr.ClassServoRArr_6[1].Servo_BitR[5];
                        ST13Servo_Global.ServoPLCToPC_Global.bAxisError = objr.ClassServoRArr_6[1].Servo_BitR[6];
                        ST13Servo_Global.ServoPLCToPC_Global.bAxisAlarm = objr.ClassServoRArr_6[1].Servo_BitR[7];
                        ST13Servo_Global.ServoPLCToPC_Global.bLimmitAlarm = objr.ClassServoRArr_6[1].Servo_BitR[8];
                        ST13Servo_Global.ServoPLCToPC_Global.bRelative = objr.ClassServoRArr_6[1].Servo_BitR[8];
                        ST13Servo_Global.ServoPLCToPC_Global.bMDI_Mode = objr.ClassServoRArr_6[1].Servo_BitR[9];
                        ST13Servo_Global.ServoPLCToPC_Global.bHomeDirection = objr.ClassServoRArr_6[1].Servo_BitR[8];
                        ST13Servo_Global.ServoPLCToPC_Global.bManualLock = objr.ClassServoRArr_6[1].Servo_BitR[10];
                        ST13Servo_Global.ServoPLCToPC_Global.bAutoLock = objr.ClassServoRArr_6[1].Servo_BitR[11];
                        ST13Servo_Global.ServoPLCToPC_Global.bOriginSensor = objr.ClassServoRArr_6[1].Servo_BitR[12];
                        ST13Servo_Global.ServoPLCToPC_Global.bCcwLimitSensor = objr.ClassServoRArr_6[1].Servo_BitR[13];
                        ST13Servo_Global.ServoPLCToPC_Global.bAxisBusy = objr.ClassServoRArr_6[1].Servo_BitR[14];
                        ST13Servo_Global.ServoPLCToPC_Global.bBreakOut = objr.ClassServoRArr_6[1].Servo_BitR[15];
                        ST13Servo_Global.ServoPLCToPC_Global.nActualPosition = objr.ClassServoRArr_6[1].Servo_ActualPositionR;
                        ST13Servo_Global.ServoPLCToPC_Global.nActualVelocity = objr.ClassServoRArr_6[1].Servo_ActualVelocityR;
                        ST13Servo_Global.ServoPLCToPC_Global.nAutoIndex = objr.ClassServoRArr_6[1].Servo_AutoIndexR;
                        ST13Servo_Global.ServoPLCToPC_Global.nCurrIndex = objr.ClassServoRArr_6[1].Servo_CurrIndexR;
                        ST13Servo_Global.ServoPLCToPC_Global.nAralmHMIdiaplay = objr.ClassServoRArr_6[1].Servo_AralmHMIdiaplayR;
                        ST13Servo_Global.ServoPLCToPC_Global.nFaultCode = objr.ClassServoRArr_6[1].Servo_FaultCodeR;




                        break;
                    }
                case nameof(ClassOP30CylinderR):
                    {
                        var objr = output.SiemensOtherInfo.ObjR.JObjToClass<ClassOP30CylinderR>();

                        ST01MaterialSpiltCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[0].Cylinder_BitR[0];
                        ST01MaterialSpiltCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[0].Cylinder_BitR[1];
                        ST01MaterialSpiltCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[0].Cylinder_StatusR;
                        ST01MaterialSpiltCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[0].Cylinder_HmiDisplayR;



                        ST01ProductClampCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[1].Cylinder_BitR[0];
                        ST01ProductClampCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[1].Cylinder_BitR[1];
                        ST01ProductClampCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[1].Cylinder_StatusR;
                        ST01ProductClampCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[1].Cylinder_HmiDisplayR;


                        ST01ClampChuoWeiCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[2].Cylinder_BitR[0];
                        ST01ClampChuoWeiCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[2].Cylinder_BitR[1];
                        ST01ClampChuoWeiCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[2].Cylinder_StatusR;
                        ST01ClampChuoWeiCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[2].Cylinder_HmiDisplayR;


                        ST01LoadJackCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[3].Cylinder_BitR[0];
                        ST01LoadJackCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[3].Cylinder_BitR[1];
                        ST01LoadJackCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[3].Cylinder_StatusR;
                        ST01LoadJackCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[3].Cylinder_HmiDisplayR;

                        ST01LoadChuoWeiCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[4].Cylinder_BitR[0];
                        ST01LoadChuoWeiCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[4].Cylinder_BitR[1];
                        ST01LoadChuoWeiCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[4].Cylinder_StatusR;
                        ST01LoadChuoWeiCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[4].Cylinder_HmiDisplayR;

                        ST01CarryJiaZhua01Cy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[5].Cylinder_BitR[0];
                        ST01CarryJiaZhua01Cy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[5].Cylinder_BitR[1];
                        ST01CarryJiaZhua01Cy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[5].Cylinder_StatusR;
                        ST01CarryJiaZhua01Cy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[5].Cylinder_HmiDisplayR;

                        ST01CarryJiaZhua02Cy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[6].Cylinder_BitR[0];
                        ST01CarryJiaZhua02Cy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[6].Cylinder_BitR[1];
                        ST01CarryJiaZhua02Cy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[6].Cylinder_StatusR;
                        ST01CarryJiaZhua02Cy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[6].Cylinder_HmiDisplayR;

                        ST01CarrySpinCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[7].Cylinder_BitR[0];
                        ST01CarrySpinCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[7].Cylinder_BitR[1];
                        ST01CarrySpinCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[7].Cylinder_StatusR;
                        ST01CarrySpinCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[7].Cylinder_HmiDisplayR;


                        ST01CarryUpDownCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[8].Cylinder_BitR[0];
                        ST01CarryUpDownCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[8].Cylinder_BitR[1];
                        ST01CarryUpDownCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[8].Cylinder_StatusR;
                        ST01CarryUpDownCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[8].Cylinder_HmiDisplayR;


                        ST01CarrierOpenCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[9].Cylinder_BitR[0];
                        ST01CarrierOpenCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[9].Cylinder_BitR[1];
                        ST01CarrierOpenCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[9].Cylinder_StatusR;
                        ST01CarrierOpenCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[1].ClassCylinderRArr_15[9].Cylinder_HmiDisplayR;


                        ST3UpDownCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[3].ClassCylinderRArr_15[0].Cylinder_BitR[0];
                        ST3UpDownCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[3].ClassCylinderRArr_15[0].Cylinder_BitR[1];
                        ST3UpDownCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[3].ClassCylinderRArr_15[0].Cylinder_StatusR;
                        ST3UpDownCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[3].ClassCylinderRArr_15[0].Cylinder_HmiDisplayR;


                        ST5UpDownCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[0].Cylinder_BitR[0];
                        ST5UpDownCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[0].Cylinder_BitR[1];
                        ST5UpDownCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[0].Cylinder_StatusR;
                        ST5UpDownCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[0].Cylinder_HmiDisplayR;


                        ST5JackCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[1].Cylinder_BitR[0];
                        ST5JackCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[1].Cylinder_BitR[1];
                        ST5JackCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[1].Cylinder_StatusR;
                        ST5JackCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[1].Cylinder_HmiDisplayR;

                        ST5ShielddUpDownCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[2].Cylinder_BitR[0];
                        ST5ShielddUpDownCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[2].Cylinder_BitR[1];
                        ST5ShielddUpDownCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[2].Cylinder_StatusR;
                        ST5ShielddUpDownCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[2].Cylinder_HmiDisplayR;

                        ST5CarrierOpenCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[3].Cylinder_BitR[0];
                        ST5CarrierOpenCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[3].Cylinder_BitR[1];
                        ST5CarrierOpenCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[3].Cylinder_StatusR;
                        ST5CarrierOpenCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[5].ClassCylinderRArr_15[3].Cylinder_HmiDisplayR;

                        ST9CoolBlowCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[9].ClassCylinderRArr_15[0].Cylinder_BitR[0];
                        ST9CoolBlowCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[9].ClassCylinderRArr_15[0].Cylinder_BitR[1];
                        ST9CoolBlowCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[9].ClassCylinderRArr_15[0].Cylinder_StatusR;
                        ST9CoolBlowCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[9].ClassCylinderRArr_15[0].Cylinder_HmiDisplayR;

                        ST11UpDownCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[11].ClassCylinderRArr_15[0].Cylinder_BitR[0];
                        ST11UpDownCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[11].ClassCylinderRArr_15[0].Cylinder_BitR[1];
                        ST11UpDownCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[11].ClassCylinderRArr_15[0].Cylinder_StatusR;
                        ST11UpDownCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[11].ClassCylinderRArr_15[0].Cylinder_HmiDisplayR;


                        ST11CarrierJackCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[11].ClassCylinderRArr_15[1].Cylinder_BitR[0];
                        ST11CarrierJackCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[11].ClassCylinderRArr_15[1].Cylinder_BitR[1];
                        ST11CarrierJackCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[11].ClassCylinderRArr_15[1].Cylinder_StatusR;
                        ST11CarrierJackCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[11].ClassCylinderRArr_15[1].Cylinder_HmiDisplayR;


                        ST13DownMaterialJiaZhuaCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[0].Cylinder_BitR[0];
                        ST13DownMaterialJiaZhuaCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[0].Cylinder_BitR[1];
                        ST13DownMaterialJiaZhuaCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[0].Cylinder_StatusR;
                        ST13DownMaterialJiaZhuaCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[0].Cylinder_HmiDisplayR;

                        ST13DownMaterialUpDownCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[1].Cylinder_BitR[0];
                        ST13DownMaterialUpDownCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[1].Cylinder_BitR[1];
                        ST13DownMaterialUpDownCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[1].Cylinder_StatusR;
                        ST13DownMaterialUpDownCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[1].Cylinder_HmiDisplayR;

                        ST13DownMaterialCarryCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[2].Cylinder_BitR[0];
                        ST13DownMaterialCarryCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[2].Cylinder_BitR[1];
                        ST13DownMaterialCarryCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[2].Cylinder_StatusR;
                        ST13DownMaterialCarryCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[2].Cylinder_HmiDisplayR;

                        ST13SpinJiaZhua01Cy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[3].Cylinder_BitR[0];
                        ST13SpinJiaZhua01Cy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[3].Cylinder_BitR[1];
                        ST13SpinJiaZhua01Cy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[3].Cylinder_StatusR;
                        ST13SpinJiaZhua01Cy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[3].Cylinder_HmiDisplayR;



                        ST13SpinJiaZhua02Cy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[4].Cylinder_BitR[0];
                        ST13SpinJiaZhua02Cy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[4].Cylinder_BitR[1];
                        ST13SpinJiaZhua02Cy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[4].Cylinder_StatusR;
                        ST13SpinJiaZhua02Cy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[4].Cylinder_HmiDisplayR;

                        ST13SpinJiaZhua03Cy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[5].Cylinder_BitR[0];
                        ST13SpinJiaZhua03Cy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[5].Cylinder_BitR[1];
                        ST13SpinJiaZhua03Cy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[5].Cylinder_StatusR;
                        ST13SpinJiaZhua03Cy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[5].Cylinder_HmiDisplayR;


                        ST13SpinJiaZhua04Cy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[6].Cylinder_BitR[0];
                        ST13SpinJiaZhua04Cy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[6].Cylinder_BitR[1];
                        ST13SpinJiaZhua04Cy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[6].Cylinder_StatusR;
                        ST13SpinJiaZhua04Cy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[13].ClassCylinderRArr_15[6].Cylinder_HmiDisplayR;


                        ST16UpDownCy.cylinderPLCToPC_Global.bOriginSensor = objr.ClassOP30StationCylinderR_17[15].ClassCylinderRArr_15[0].Cylinder_BitR[0];
                        ST16UpDownCy.cylinderPLCToPC_Global.bWorkSensor = objr.ClassOP30StationCylinderR_17[15].ClassCylinderRArr_15[0].Cylinder_BitR[1];
                        ST16UpDownCy.cylinderPLCToPC_Global.nCyStatus = objr.ClassOP30StationCylinderR_17[15].ClassCylinderRArr_15[0].Cylinder_StatusR;
                        ST16UpDownCy.cylinderPLCToPC_Global.nHmiDisplay = objr.ClassOP30StationCylinderR_17[15].ClassCylinderRArr_15[0].Cylinder_HmiDisplayR;




                    }

                    break;
                case nameof(ClassTurntableR):
                    {
                        var objr = output.SiemensOtherInfo.ObjR.JObjToClass<ClassTurntableR>();

                        TurntablePLCToPC_Global.OrgOK = objr.Turntable_BitR[0];
                        TurntablePLCToPC_Global.Enable = objr.Turntable_BitR[1];
                        TurntablePLCToPC_Global.NotAutoPos = objr.Turntable_BitR[2];
                        TurntablePLCToPC_Global.bIn3 = objr.Turntable_BitR[3];
                        TurntablePLCToPC_Global.bIn4 = objr.Turntable_BitR[4];
                        TurntablePLCToPC_Global.bIn5 = objr.Turntable_BitR[5];
                        TurntablePLCToPC_Global.bIn6 = objr.Turntable_BitR[6];
                        TurntablePLCToPC_Global.bIn7 = objr.Turntable_BitR[7];
                        TurntablePLCToPC_Global.StationCode = objr.Turntable_PosCodeR;
                        TurntablePLCToPC_Global.EncodeAngle = objr.Turntable_EncodeAngle;
                        TurntablePLCToPC_Global.ST5WeldPress = objr.Turntable_ReservedR[0];
                        TurntablePLCToPC_Global.nParaData3 = objr.Turntable_ReservedR[1];

                    }
                    break;
                case nameof(ClassSystemR):
                    {
                        var objr = output.SiemensOtherInfo.ObjR.JObjToClass<ClassSystemR>();

                        SystemPLCToPC_Global.bManualMode = objr.System_BitR[0];
                        SystemPLCToPC_Global.bInitialing = objr.System_BitR[1];
                        SystemPLCToPC_Global.bHMIStartLamp = objr.System_BitR[2];
                        SystemPLCToPC_Global.bHMIStopLamp = objr.System_BitR[3];
                        SystemPLCToPC_Global.bHMIStepLamp = objr.System_BitR[4];
                        SystemPLCToPC_Global.bHMIResetLamp = objr.System_BitR[5];
                        SystemPLCToPC_Global.bHMICycleStopLamp = objr.System_BitR[6];
                        SystemPLCToPC_Global.bClearingMat = objr.System_BitR[7];
                        SystemPLCToPC_Global.bClearCmp = objr.System_BitR[8];
                        SystemPLCToPC_Global.bDryRunning = objr.System_BitR[9];
                        SystemPLCToPC_Global.bPcDisabled = objr.System_BitR[10];
                        SystemPLCToPC_Global.bCcdDisabled = objr.System_BitR[11];
                        SystemPLCToPC_Global.RecipeLoadOK = objr.System_BitR[12];
                        SystemPLCToPC_Global.bool1 = objr.System_BitR[13];
                        SystemPLCToPC_Global.bool2 = objr.System_BitR[14];
                        SystemPLCToPC_Global.bool3 = objr.System_BitR[15];



                        SystemPLCToPC_Global.PartCode = objr.System_PartCodeR;
                        SystemPLCToPC_Global.nCycleTime = objr.System_CycleTimeR;
                        SystemPLCToPC_Global.nCounter = objr.System_CounterR;
                        SystemPLCToPC_Global.nCounterOK = objr.System_CounterOkR;
                        SystemPLCToPC_Global.nCounterNG = objr.System_CounterNgR;
                        SystemPLCToPC_Global.nOKrate = objr.System_OkRateR;
                        SystemPLCToPC_Global.nMachineStatus = objr.System_MachineStatusR;
                        SystemPLCToPC_Global.nHMIDisplay_SYS = objr.System_SysAlarmR;
                        SystemPLCToPC_Global.nHMIDisplay_DoorEstopAlarm = objr.System_DoorEstopAlarmR;
                        SystemPLCToPC_Global.nHMIDisplay_EstopAlarm = objr.System_EstopAlarmR;
                        SystemPLCToPC_Global.nHMIDisplay_OtherDevice = objr.System_OtherDeviceAlarmR;
                        SystemPLCToPC_Global.nHMIDisplay_Connect = objr.System_ConnectAlarmR;
                        SystemPLCToPC_Global.nHMIDispaly_NoMaterial = objr.System_NoMaterialAlarmR;
                        SystemPLCToPC_Global.nHMIDispaly_Warn1 = objr.System_Warn1R;
                        SystemPLCToPC_Global.nHMIDispaly_Warn2 = objr.System_Warn2R;

                    }
                    break;
                case nameof(ClassOP30StationArrR):
                    {
                        var objr = output.SiemensOtherInfo.ObjR.JObjToClass<ClassOP30StationArrR>();

                        ST0Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[0].Station_BitR[0];
                        ST0Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[0].Station_BitR[1];
                        ST0Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[0].Station_BitR[2];
                        ST0Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[0].Station_BitR[3];
                        ST0Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[0].Station_BitR[4];
                        ST0Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[0].Station_BitR[5];
                        ST0Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[0].Station_BitR[6];
                        ST0Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[0].Station_BitR[7];
                        ST0Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[0].Station_BitR[8];
                        ST0Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[0].Station_BitR[9];
                        ST0Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[0].Station_BitR[10];
                        ST0Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[0].Station_BitR[11];
                        ST0Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[0].Station_BitR[12];
                        ST0Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[0].Station_BitR[13];
                        ST0Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[0].Station_BitR[14];
                        ST0Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[0].Station_BitR[15];
                        ST0Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[0].Station_CounterR;
                        ST0Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[0].Station_CounterOkR;
                        ST0Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[0].Station_CounterNg1R;
                        ST0Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[0].Station_CounterNg2R;
                        ST0Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[0].Station_CounterNg3R;
                        ST0Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[0].Station_KrateOkR;
                        ST0Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[0].Station_CycleTime;
                        ST0Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[0].Station_StationStatusR;
                        ST0Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[0].Station_CarrierStatusR;
                        ST0Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[0].Station_AlarmCountR;
                        ST0Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[0].Station_StationNumberR;
                        ST0Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[0].Station_OtherAlarm1R;
                        ST0Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[0].Station_OtherAlarm2R;



                        ST1Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[1].Station_BitR[0];
                        ST1Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[1].Station_BitR[1];
                        ST1Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[1].Station_BitR[2];
                        ST1Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[1].Station_BitR[3];
                        ST1Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[1].Station_BitR[4];
                        ST1Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[1].Station_BitR[5];
                        ST1Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[1].Station_BitR[6];
                        ST1Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[1].Station_BitR[7];
                        ST1Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[1].Station_BitR[8];
                        ST1Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[1].Station_BitR[9];
                        ST1Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[1].Station_BitR[10];
                        ST1Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[1].Station_BitR[11];
                        ST1Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[1].Station_BitR[12];
                        ST1Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[1].Station_BitR[13];
                        ST1Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[1].Station_BitR[14];
                        ST1Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[1].Station_BitR[15];
                        ST1Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[1].Station_CounterR;
                        ST1Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[1].Station_CounterOkR;
                        ST1Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[1].Station_CounterNg1R;
                        ST1Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[1].Station_CounterNg2R;
                        ST1Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[1].Station_CounterNg3R;
                        ST1Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[1].Station_KrateOkR;
                        ST1Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[1].Station_CycleTime;
                        ST1Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[1].Station_StationStatusR;
                        ST1Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[1].Station_CarrierStatusR;
                        ST1Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[1].Station_AlarmCountR;
                        ST1Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[1].Station_StationNumberR;
                        ST1Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[1].Station_OtherAlarm1R;
                        ST1Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[1].Station_OtherAlarm2R;

                        ST2Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[2].Station_BitR[0];
                        ST2Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[2].Station_BitR[1];
                        ST2Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[2].Station_BitR[2];
                        ST2Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[2].Station_BitR[3];
                        ST2Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[2].Station_BitR[4];
                        ST2Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[2].Station_BitR[5];
                        ST2Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[2].Station_BitR[6];
                        ST2Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[2].Station_BitR[7];
                        ST2Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[2].Station_BitR[8];
                        ST2Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[2].Station_BitR[9];
                        ST2Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[2].Station_BitR[10];
                        ST2Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[2].Station_BitR[11];
                        ST2Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[2].Station_BitR[12];
                        ST2Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[2].Station_BitR[13];
                        ST2Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[2].Station_BitR[14];
                        ST2Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[2].Station_BitR[15];
                        ST2Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[2].Station_CounterR;
                        ST2Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[2].Station_CounterOkR;
                        ST2Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[2].Station_CounterNg1R;
                        ST2Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[2].Station_CounterNg2R;
                        ST2Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[2].Station_CounterNg3R;
                        ST2Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[2].Station_KrateOkR;
                        ST2Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[2].Station_CycleTime;
                        ST2Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[2].Station_StationStatusR;
                        ST2Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[2].Station_CarrierStatusR;
                        ST2Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[2].Station_AlarmCountR;
                        ST2Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[2].Station_StationNumberR;
                        ST2Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[2].Station_OtherAlarm1R;
                        ST2Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[2].Station_OtherAlarm2R;


                        ST3Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[3].Station_BitR[0];
                        ST3Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[3].Station_BitR[1];
                        ST3Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[3].Station_BitR[2];
                        ST3Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[3].Station_BitR[3];
                        ST3Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[3].Station_BitR[4];
                        ST3Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[3].Station_BitR[5];
                        ST3Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[3].Station_BitR[6];
                        ST3Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[3].Station_BitR[7];
                        ST3Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[3].Station_BitR[8];
                        ST3Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[3].Station_BitR[9];
                        ST3Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[3].Station_BitR[10];
                        ST3Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[3].Station_BitR[11];
                        ST3Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[3].Station_BitR[12];
                        ST3Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[3].Station_BitR[13];
                        ST3Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[3].Station_BitR[14];
                        ST3Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[3].Station_BitR[15];
                        ST3Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[3].Station_CounterR;
                        ST3Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[3].Station_CounterOkR;
                        ST3Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[3].Station_CounterNg1R;
                        ST3Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[3].Station_CounterNg2R;
                        ST3Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[3].Station_CounterNg3R;
                        ST3Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[3].Station_KrateOkR;
                        ST3Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[3].Station_CycleTime;
                        ST3Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[3].Station_StationStatusR;
                        ST3Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[3].Station_CarrierStatusR;
                        ST3Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[3].Station_AlarmCountR;
                        ST3Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[3].Station_StationNumberR;
                        ST3Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[3].Station_OtherAlarm1R;
                        ST3Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[3].Station_OtherAlarm2R;



                        ST4Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[4].Station_BitR[0];
                        ST4Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[4].Station_BitR[1];
                        ST4Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[4].Station_BitR[2];
                        ST4Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[4].Station_BitR[3];
                        ST4Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[4].Station_BitR[4];
                        ST4Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[4].Station_BitR[5];
                        ST4Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[4].Station_BitR[6];
                        ST4Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[4].Station_BitR[7];
                        ST4Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[4].Station_BitR[8];
                        ST4Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[4].Station_BitR[9];
                        ST4Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[4].Station_BitR[10];
                        ST4Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[4].Station_BitR[11];
                        ST4Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[4].Station_BitR[12];
                        ST4Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[4].Station_BitR[13];
                        ST4Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[4].Station_BitR[14];
                        ST4Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[4].Station_BitR[15];
                        ST4Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[4].Station_CounterR;
                        ST4Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[4].Station_CounterOkR;
                        ST4Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[4].Station_CounterNg1R;
                        ST4Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[4].Station_CounterNg2R;
                        ST4Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[4].Station_CounterNg3R;
                        ST4Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[4].Station_KrateOkR;
                        ST4Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[4].Station_CycleTime;
                        ST4Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[4].Station_StationStatusR;
                        ST4Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[4].Station_CarrierStatusR;
                        ST4Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[4].Station_AlarmCountR;
                        ST4Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[4].Station_StationNumberR;
                        ST4Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[4].Station_OtherAlarm1R;
                        ST4Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[4].Station_OtherAlarm2R;


                        ST5Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[5].Station_BitR[0];
                        ST5Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[5].Station_BitR[1];
                        ST5Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[5].Station_BitR[2];
                        ST5Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[5].Station_BitR[3];
                        ST5Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[5].Station_BitR[4];
                        ST5Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[5].Station_BitR[5];
                        ST5Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[5].Station_BitR[6];
                        ST5Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[5].Station_BitR[7];
                        ST5Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[5].Station_BitR[8];
                        ST5Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[5].Station_BitR[9];
                        ST5Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[5].Station_BitR[10];
                        ST5Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[5].Station_BitR[11];
                        ST5Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[5].Station_BitR[12];
                        ST5Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[5].Station_BitR[13];
                        ST5Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[5].Station_BitR[14];
                        ST5Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[5].Station_BitR[15];
                        ST5Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[5].Station_CounterR;
                        ST5Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[5].Station_CounterOkR;
                        ST5Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[5].Station_CounterNg1R;
                        ST5Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[5].Station_CounterNg2R;
                        ST5Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[5].Station_CounterNg3R;
                        ST5Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[5].Station_KrateOkR;
                        ST5Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[5].Station_CycleTime;
                        ST5Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[5].Station_StationStatusR;
                        ST5Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[5].Station_CarrierStatusR;
                        ST5Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[5].Station_AlarmCountR;
                        ST5Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[5].Station_StationNumberR;
                        ST5Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[5].Station_OtherAlarm1R;
                        ST5Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[5].Station_OtherAlarm2R;



                        ST6Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[6].Station_BitR[0];
                        ST6Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[6].Station_BitR[1];
                        ST6Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[6].Station_BitR[2];
                        ST6Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[6].Station_BitR[3];
                        ST6Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[6].Station_BitR[4];
                        ST6Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[6].Station_BitR[5];
                        ST6Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[6].Station_BitR[6];
                        ST6Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[6].Station_BitR[7];
                        ST6Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[6].Station_BitR[8];
                        ST6Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[6].Station_BitR[9];
                        ST6Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[6].Station_BitR[10];
                        ST6Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[6].Station_BitR[11];
                        ST6Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[6].Station_BitR[12];
                        ST6Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[6].Station_BitR[13];
                        ST6Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[6].Station_BitR[14];
                        ST6Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[6].Station_BitR[15];
                        ST6Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[6].Station_CounterR;
                        ST6Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[6].Station_CounterOkR;
                        ST6Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[6].Station_CounterNg1R;
                        ST6Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[6].Station_CounterNg2R;
                        ST6Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[6].Station_CounterNg3R;
                        ST6Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[6].Station_KrateOkR;
                        ST6Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[6].Station_CycleTime;
                        ST6Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[6].Station_StationStatusR;
                        ST6Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[6].Station_CarrierStatusR;
                        ST6Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[6].Station_AlarmCountR;
                        ST6Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[6].Station_StationNumberR;
                        ST6Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[6].Station_OtherAlarm1R;
                        ST6Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[6].Station_OtherAlarm2R;



                        ST7Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[7].Station_BitR[0];
                        ST7Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[7].Station_BitR[1];
                        ST7Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[7].Station_BitR[2];
                        ST7Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[7].Station_BitR[3];
                        ST7Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[7].Station_BitR[4];
                        ST7Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[7].Station_BitR[5];
                        ST7Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[7].Station_BitR[6];
                        ST7Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[7].Station_BitR[7];
                        ST7Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[7].Station_BitR[8];
                        ST7Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[7].Station_BitR[9];
                        ST7Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[7].Station_BitR[10];
                        ST7Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[7].Station_BitR[11];
                        ST7Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[7].Station_BitR[12];
                        ST7Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[7].Station_BitR[13];
                        ST7Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[7].Station_BitR[14];
                        ST7Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[7].Station_BitR[15];
                        ST7Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[7].Station_CounterR;
                        ST7Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[7].Station_CounterOkR;
                        ST7Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[7].Station_CounterNg1R;
                        ST7Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[7].Station_CounterNg2R;
                        ST7Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[7].Station_CounterNg3R;
                        ST7Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[7].Station_KrateOkR;
                        ST7Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[7].Station_CycleTime;
                        ST7Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[7].Station_StationStatusR;
                        ST7Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[7].Station_CarrierStatusR;
                        ST7Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[7].Station_AlarmCountR;
                        ST7Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[7].Station_StationNumberR;
                        ST7Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[7].Station_OtherAlarm1R;
                        ST7Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[7].Station_OtherAlarm2R;


                        ST8Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[8].Station_BitR[0];
                        ST8Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[8].Station_BitR[1];
                        ST8Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[8].Station_BitR[2];
                        ST8Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[8].Station_BitR[3];
                        ST8Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[8].Station_BitR[4];
                        ST8Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[8].Station_BitR[5];
                        ST8Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[8].Station_BitR[6];
                        ST8Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[8].Station_BitR[7];
                        ST8Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[8].Station_BitR[8];
                        ST8Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[8].Station_BitR[9];
                        ST8Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[8].Station_BitR[10];
                        ST8Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[8].Station_BitR[11];
                        ST8Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[8].Station_BitR[12];
                        ST8Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[8].Station_BitR[13];
                        ST8Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[8].Station_BitR[14];
                        ST8Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[8].Station_BitR[15];
                        ST8Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[8].Station_CounterR;
                        ST8Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[8].Station_CounterOkR;
                        ST8Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[8].Station_CounterNg1R;
                        ST8Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[8].Station_CounterNg2R;
                        ST8Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[8].Station_CounterNg3R;
                        ST8Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[8].Station_KrateOkR;
                        ST8Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[8].Station_CycleTime;
                        ST8Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[8].Station_StationStatusR;
                        ST8Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[8].Station_CarrierStatusR;
                        ST8Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[8].Station_AlarmCountR;
                        ST8Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[8].Station_StationNumberR;
                        ST8Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[8].Station_OtherAlarm1R;
                        ST8Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[8].Station_OtherAlarm2R;



                        ST9Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[9].Station_BitR[0];
                        ST9Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[9].Station_BitR[1];
                        ST9Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[9].Station_BitR[2];
                        ST9Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[9].Station_BitR[3];
                        ST9Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[9].Station_BitR[4];
                        ST9Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[9].Station_BitR[5];
                        ST9Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[9].Station_BitR[6];
                        ST9Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[9].Station_BitR[7];
                        ST9Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[9].Station_BitR[8];
                        ST9Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[9].Station_BitR[9];
                        ST9Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[9].Station_BitR[10];
                        ST9Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[9].Station_BitR[11];
                        ST9Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[9].Station_BitR[12];
                        ST9Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[9].Station_BitR[13];
                        ST9Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[9].Station_BitR[14];
                        ST9Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[9].Station_BitR[15];
                        ST9Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[9].Station_CounterR;
                        ST9Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[9].Station_CounterOkR;
                        ST9Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[9].Station_CounterNg1R;
                        ST9Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[9].Station_CounterNg2R;
                        ST9Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[9].Station_CounterNg3R;
                        ST9Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[9].Station_KrateOkR;
                        ST9Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[9].Station_CycleTime;
                        ST9Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[9].Station_StationStatusR;
                        ST9Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[9].Station_CarrierStatusR;
                        ST9Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[9].Station_AlarmCountR;
                        ST9Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[9].Station_StationNumberR;
                        ST9Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[9].Station_OtherAlarm1R;
                        ST9Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[9].Station_OtherAlarm2R;


                        ST10Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[10].Station_BitR[0];
                        ST10Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[10].Station_BitR[1];
                        ST10Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[10].Station_BitR[2];
                        ST10Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[10].Station_BitR[3];
                        ST10Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[10].Station_BitR[4];
                        ST10Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[10].Station_BitR[5];
                        ST10Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[10].Station_BitR[6];
                        ST10Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[10].Station_BitR[7];
                        ST10Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[10].Station_BitR[8];
                        ST10Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[10].Station_BitR[9];
                        ST10Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[10].Station_BitR[10];
                        ST10Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[10].Station_BitR[11];
                        ST10Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[10].Station_BitR[12];
                        ST10Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[10].Station_BitR[13];
                        ST10Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[10].Station_BitR[14];
                        ST10Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[10].Station_BitR[15];
                        ST10Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[10].Station_CounterR;
                        ST10Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[10].Station_CounterOkR;
                        ST10Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[10].Station_CounterNg1R;
                        ST10Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[10].Station_CounterNg2R;
                        ST10Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[10].Station_CounterNg3R;
                        ST10Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[10].Station_KrateOkR;
                        ST10Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[10].Station_CycleTime;
                        ST10Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[10].Station_StationStatusR;
                        ST10Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[10].Station_CarrierStatusR;
                        ST10Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[10].Station_AlarmCountR;
                        ST10Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[10].Station_StationNumberR;
                        ST10Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[10].Station_OtherAlarm1R;
                        ST10Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[10].Station_OtherAlarm2R;



                        ST11Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[11].Station_BitR[0];
                        ST11Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[11].Station_BitR[1];
                        ST11Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[11].Station_BitR[2];
                        ST11Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[11].Station_BitR[3];
                        ST11Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[11].Station_BitR[4];
                        ST11Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[11].Station_BitR[5];
                        ST11Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[11].Station_BitR[6];
                        ST11Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[11].Station_BitR[7];
                        ST11Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[11].Station_BitR[8];
                        ST11Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[11].Station_BitR[9];
                        ST11Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[11].Station_BitR[10];
                        ST11Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[11].Station_BitR[11];
                        ST11Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[11].Station_BitR[12];
                        ST11Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[11].Station_BitR[13];
                        ST11Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[11].Station_BitR[14];
                        ST11Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[11].Station_BitR[15];
                        ST11Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[11].Station_CounterR;
                        ST11Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[11].Station_CounterOkR;
                        ST11Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[11].Station_CounterNg1R;
                        ST11Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[11].Station_CounterNg2R;
                        ST11Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[11].Station_CounterNg3R;
                        ST11Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[11].Station_KrateOkR;
                        ST11Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[11].Station_CycleTime;
                        ST11Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[11].Station_StationStatusR;
                        ST11Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[11].Station_CarrierStatusR;
                        ST11Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[11].Station_AlarmCountR;
                        ST11Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[11].Station_StationNumberR;
                        ST11Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[11].Station_OtherAlarm1R;
                        ST11Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[11].Station_OtherAlarm2R;


                        ST12Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[12].Station_BitR[0];
                        ST12Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[12].Station_BitR[1];
                        ST12Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[12].Station_BitR[2];
                        ST12Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[12].Station_BitR[3];
                        ST12Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[12].Station_BitR[4];
                        ST12Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[12].Station_BitR[5];
                        ST12Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[12].Station_BitR[6];
                        ST12Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[12].Station_BitR[7];
                        ST12Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[12].Station_BitR[8];
                        ST12Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[12].Station_BitR[9];
                        ST12Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[12].Station_BitR[10];
                        ST12Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[12].Station_BitR[11];
                        ST12Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[12].Station_BitR[12];
                        ST12Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[12].Station_BitR[13];
                        ST12Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[12].Station_BitR[14];
                        ST12Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[12].Station_BitR[15];
                        ST12Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[12].Station_CounterR;
                        ST12Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[12].Station_CounterOkR;
                        ST12Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[12].Station_CounterNg1R;
                        ST12Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[12].Station_CounterNg2R;
                        ST12Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[12].Station_CounterNg3R;
                        ST12Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[12].Station_KrateOkR;
                        ST12Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[12].Station_CycleTime;
                        ST12Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[12].Station_StationStatusR;
                        ST12Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[12].Station_CarrierStatusR;
                        ST12Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[12].Station_AlarmCountR;
                        ST12Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[12].Station_StationNumberR;
                        ST12Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[12].Station_OtherAlarm1R;
                        ST12Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[12].Station_OtherAlarm2R;



                        ST13Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[13].Station_BitR[0];
                        ST13Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[13].Station_BitR[1];
                        ST13Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[13].Station_BitR[2];
                        ST13Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[13].Station_BitR[3];
                        ST13Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[13].Station_BitR[4];
                        ST13Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[13].Station_BitR[5];
                        ST13Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[13].Station_BitR[6];
                        ST13Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[13].Station_BitR[7];
                        ST13Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[13].Station_BitR[8];
                        ST13Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[13].Station_BitR[9];
                        ST13Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[13].Station_BitR[10];
                        ST13Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[13].Station_BitR[11];
                        ST13Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[13].Station_BitR[12];
                        ST13Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[13].Station_BitR[13];
                        ST13Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[13].Station_BitR[14];
                        ST13Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[13].Station_BitR[15];
                        ST13Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[13].Station_CounterR;
                        ST13Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[13].Station_CounterOkR;
                        ST13Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[13].Station_CounterNg1R;
                        ST13Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[13].Station_CounterNg2R;
                        ST13Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[13].Station_CounterNg3R;
                        ST13Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[13].Station_KrateOkR;
                        ST13Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[13].Station_CycleTime;
                        ST13Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[13].Station_StationStatusR;
                        ST13Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[13].Station_CarrierStatusR;
                        ST13Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[13].Station_AlarmCountR;
                        ST13Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[13].Station_StationNumberR;
                        ST13Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[13].Station_OtherAlarm1R;
                        ST13Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[13].Station_OtherAlarm2R;


                        ST14Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[14].Station_BitR[0];
                        ST14Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[14].Station_BitR[1];
                        ST14Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[14].Station_BitR[2];
                        ST14Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[14].Station_BitR[3];
                        ST14Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[14].Station_BitR[4];
                        ST14Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[14].Station_BitR[5];
                        ST14Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[14].Station_BitR[6];
                        ST14Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[14].Station_BitR[7];
                        ST14Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[14].Station_BitR[8];
                        ST14Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[14].Station_BitR[9];
                        ST14Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[14].Station_BitR[10];
                        ST14Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[14].Station_BitR[11];
                        ST14Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[14].Station_BitR[12];
                        ST14Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[14].Station_BitR[13];
                        ST14Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[14].Station_BitR[14];
                        ST14Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[14].Station_BitR[15];
                        ST14Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[14].Station_CounterR;
                        ST14Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[14].Station_CounterOkR;
                        ST14Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[14].Station_CounterNg1R;
                        ST14Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[14].Station_CounterNg2R;
                        ST14Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[14].Station_CounterNg3R;
                        ST14Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[14].Station_KrateOkR;
                        ST14Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[14].Station_CycleTime;
                        ST14Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[14].Station_StationStatusR;
                        ST14Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[14].Station_CarrierStatusR;
                        ST14Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[14].Station_AlarmCountR;
                        ST14Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[14].Station_StationNumberR;
                        ST14Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[14].Station_OtherAlarm1R;
                        ST14Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[14].Station_OtherAlarm2R;



                        //ST16变成ST15
                        ST16Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[15].Station_BitR[0];
                        ST16Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[15].Station_BitR[1];
                        ST16Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[15].Station_BitR[2];
                        ST16Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[15].Station_BitR[3];
                        ST16Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[15].Station_BitR[4];
                        ST16Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[15].Station_BitR[5];
                        ST16Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[15].Station_BitR[6];
                        ST16Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[15].Station_BitR[7];
                        ST16Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[15].Station_BitR[8];
                        ST16Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[15].Station_BitR[9];
                        ST16Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[15].Station_BitR[10];
                        ST16Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[15].Station_BitR[11];
                        ST16Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[15].Station_BitR[12];
                        ST16Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[15].Station_BitR[13];
                        ST16Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[15].Station_BitR[14];
                        ST16Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[15].Station_BitR[15];
                        ST16Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[15].Station_CounterR;
                        ST16Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[15].Station_CounterOkR;
                        ST16Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[15].Station_CounterNg1R;
                        ST16Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[15].Station_CounterNg2R;
                        ST16Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[15].Station_CounterNg3R;
                        ST16Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[15].Station_KrateOkR;
                        ST16Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[15].Station_CycleTime;
                        ST16Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[15].Station_StationStatusR;
                        ST16Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[15].Station_CarrierStatusR;
                        ST16Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[15].Station_AlarmCountR;
                        ST16Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[15].Station_StationNumberR;
                        ST16Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[15].Station_OtherAlarm1R;
                        ST16Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[15].Station_OtherAlarm2R;


                        //ST16Station_Global.stationPLCToPC.bInitialSTing = objr.ClassOP30StationRArr_17[16].Station_BitR[0];
                        //ST16Station_Global.stationPLCToPC.bDisabled = objr.ClassOP30StationRArr_17[16].Station_BitR[1];
                        //ST16Station_Global.stationPLCToPC.bAlarm = objr.ClassOP30StationRArr_17[16].Station_BitR[2];
                        //ST16Station_Global.stationPLCToPC.bCycleStart = objr.ClassOP30StationRArr_17[16].Station_BitR[3];
                        //ST16Station_Global.stationPLCToPC.bSignSTstart = objr.ClassOP30StationRArr_17[16].Station_BitR[4];
                        //ST16Station_Global.stationPLCToPC.bCylinderAlarm = objr.ClassOP30StationRArr_17[16].Station_BitR[5];
                        //ST16Station_Global.stationPLCToPC.bServoAlarm = objr.ClassOP30StationRArr_17[16].Station_BitR[6];
                        //ST16Station_Global.stationPLCToPC.bGT2CheckIn = objr.ClassOP30StationRArr_17[16].Station_BitR[7];
                        //ST16Station_Global.stationPLCToPC.bPressCheckIn = objr.ClassOP30StationRArr_17[16].Station_BitR[8];
                        //ST16Station_Global.stationPLCToPC.bDuring = objr.ClassOP30StationRArr_17[16].Station_BitR[9];
                        //ST16Station_Global.stationPLCToPC.bOut2 = objr.ClassOP30StationRArr_17[16].Station_BitR[10];
                        //ST16Station_Global.stationPLCToPC.bOut3 = objr.ClassOP30StationRArr_17[16].Station_BitR[11];
                        //ST16Station_Global.stationPLCToPC.bOut4 = objr.ClassOP30StationRArr_17[16].Station_BitR[12];
                        //ST16Station_Global.stationPLCToPC.bOut5 = objr.ClassOP30StationRArr_17[16].Station_BitR[13];
                        //ST16Station_Global.stationPLCToPC.bOut6 = objr.ClassOP30StationRArr_17[16].Station_BitR[14];
                        //ST16Station_Global.stationPLCToPC.bOut7 = objr.ClassOP30StationRArr_17[16].Station_BitR[15];
                        //ST16Station_Global.stationPLCToPC.nCounter = objr.ClassOP30StationRArr_17[16].Station_CounterR;
                        //ST16Station_Global.stationPLCToPC.nCounterOK = objr.ClassOP30StationRArr_17[16].Station_CounterOkR;
                        //ST16Station_Global.stationPLCToPC.nCounterNG1 = objr.ClassOP30StationRArr_17[16].Station_CounterNg1R;
                        //ST16Station_Global.stationPLCToPC.nCounterNG2 = objr.ClassOP30StationRArr_17[16].Station_CounterNg2R;
                        //ST16Station_Global.stationPLCToPC.nCounterNG3 = objr.ClassOP30StationRArr_17[16].Station_CounterNg3R;
                        //ST16Station_Global.stationPLCToPC.nOKrate = objr.ClassOP30StationRArr_17[16].Station_KrateOkR;
                        //ST16Station_Global.stationPLCToPC.nCycleTime = objr.ClassOP30StationRArr_17[16].Station_CycleTime;
                        //ST16Station_Global.stationPLCToPC.nStationStatus = objr.ClassOP30StationRArr_17[16].Station_StationStatusR;
                        //ST16Station_Global.stationPLCToPC.nCarrierStatus = objr.ClassOP30StationRArr_17[16].Station_CarrierStatusR;
                        //ST16Station_Global.stationPLCToPC.nAlarmCount = objr.ClassOP30StationRArr_17[16].Station_AlarmCountR;
                        //ST16Station_Global.stationPLCToPC.nStationNumber = objr.ClassOP30StationRArr_17[16].Station_StationNumberR;
                        //ST16Station_Global.stationPLCToPC.nOtherAlarmDisplay = objr.ClassOP30StationRArr_17[16].Station_OtherAlarm1R;
                        //ST16Station_Global.stationPLCToPC.nOtherAlarmDisplay2 = objr.ClassOP30StationRArr_17[16].Station_OtherAlarm2R;



                    }
                    break;
                case nameof(ClassIOR):
                    {
                        var objr = output.SiemensOtherInfo.ObjR.JObjToClass<ClassIOR>();
                        IO_Global.IO_R = objr.IO_R;
                    }
                    break;
                case nameof(ClassOP30CCDR):
                    {
                        var objr = output.SiemensOtherInfo.ObjR.JObjToClass<ClassOP30CCDR>();
                        CCDPLCToPC_Global.ST3ResultOK = objr.CCD_BitR[0];
                        CCDPLCToPC_Global.ST3ResultNG = objr.CCD_BitR[1];
                        CCDPLCToPC_Global.bIn2 = objr.CCD_BitR[2];
                        CCDPLCToPC_Global.bIn3 = objr.CCD_BitR[3];
                        CCDPLCToPC_Global.bIn4 = objr.CCD_BitR[4];
                        CCDPLCToPC_Global.bIn5 = objr.CCD_BitR[5];
                        CCDPLCToPC_Global.bIn6 = objr.CCD_BitR[6];
                        CCDPLCToPC_Global.bIn7 = objr.CCD_BitR[7];
                        CCDPLCToPC_Global.ST11ResultOK = objr.CCD_BitR[8];
                        CCDPLCToPC_Global.ST11ResultNG = objr.CCD_BitR[9];
                        CCDPLCToPC_Global.bIn10 = objr.CCD_BitR[10];
                        CCDPLCToPC_Global.bIn11 = objr.CCD_BitR[11];
                        CCDPLCToPC_Global.bIn12 = objr.CCD_BitR[12];
                        CCDPLCToPC_Global.bIn13 = objr.CCD_BitR[13];
                        CCDPLCToPC_Global.bIn14 = objr.CCD_BitR[14];
                        CCDPLCToPC_Global.bIn15 = objr.CCD_BitR[15];
                        CCDPLCToPC_Global.nParaData0 = objr.ParaDataArr[0];
                        CCDPLCToPC_Global.nParaData1 = objr.ParaDataArr[1];
                        CCDPLCToPC_Global.nParaData2 = objr.ParaDataArr[2];
                        CCDPLCToPC_Global.nParaData3 = objr.ParaDataArr[3];
                    }
                    break;
                default:
                    break;
            }
        }


        private void ParseSignalRObjW(SiemensOtherSignalROutput output)
        {
            // 写
            switch (output.SiemensOtherInfo.ObjWClassName)
            {
                case nameof(ClassOP30Parameter):
                    {
                        //写内容给服务器
                        var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassOP30Parameter>();
                        output.SiemensOtherInfo.ObjW = objw;

                        objw.ClassOP30ParameterServoArr_3[0].P_S_Acc = ST5ServoParam_Global.nAcc;
                        objw.ClassOP30ParameterServoArr_3[0].P_S_Dec = ST5ServoParam_Global.nDec;
                        objw.ClassOP30ParameterServoArr_3[0].P_S_Override = ST5ServoParam_Global.Override;
                        objw.ClassOP30ParameterServoArr_3[0].P_S_HomeSpeed = ST5ServoParam_Global.nHomeSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].P_S_HomePos = ST5ServoParam_Global.nHomePos;
                        objw.ClassOP30ParameterServoArr_3[0].P_S_JogSpeed = ST5ServoParam_Global.nJogSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].P_S_HomeMode = ST5ServoParam_Global.nHomeMode;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[0].P_S_WorkPos = ST5ServoParam_Global.aWork[0].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[0].P_S_WorkSpeed = ST5ServoParam_Global.aWork[0].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[1].P_S_WorkPos = ST5ServoParam_Global.aWork[1].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[1].P_S_WorkSpeed = ST5ServoParam_Global.aWork[1].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[2].P_S_WorkPos = ST5ServoParam_Global.aWork[2].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[2].P_S_WorkSpeed = ST5ServoParam_Global.aWork[2].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[3].P_S_WorkPos = ST5ServoParam_Global.aWork[3].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[3].P_S_WorkSpeed = ST5ServoParam_Global.aWork[3].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[4].P_S_WorkPos = ST5ServoParam_Global.aWork[4].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[4].P_S_WorkSpeed = ST5ServoParam_Global.aWork[4].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[5].P_S_WorkPos = ST5ServoParam_Global.aWork[5].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[5].P_S_WorkSpeed = ST5ServoParam_Global.aWork[5].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[6].P_S_WorkPos = ST5ServoParam_Global.aWork[6].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[6].P_S_WorkSpeed = ST5ServoParam_Global.aWork[6].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[7].P_S_WorkPos = ST5ServoParam_Global.aWork[7].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[7].P_S_WorkSpeed = ST5ServoParam_Global.aWork[7].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[8].P_S_WorkPos = ST5ServoParam_Global.aWork[8].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[8].P_S_WorkSpeed = ST5ServoParam_Global.aWork[8].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[9].P_S_WorkPos = ST5ServoParam_Global.aWork[9].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[0].ClassParameterServoPosArr_10[9].P_S_WorkSpeed = ST5ServoParam_Global.aWork[9].aWorkSpeed;

                        objw.ClassOP30ParameterServoArr_3[1].P_S_Acc = ST13ServoParam_Global.nAcc;
                        objw.ClassOP30ParameterServoArr_3[1].P_S_Dec = ST13ServoParam_Global.nDec;
                        objw.ClassOP30ParameterServoArr_3[1].P_S_Override = ST13ServoParam_Global.Override;
                        objw.ClassOP30ParameterServoArr_3[1].P_S_HomeSpeed = ST13ServoParam_Global.nHomeSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].P_S_HomePos = ST13ServoParam_Global.nHomePos;
                        objw.ClassOP30ParameterServoArr_3[1].P_S_JogSpeed = ST13ServoParam_Global.nJogSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].P_S_HomeMode = ST13ServoParam_Global.nHomeMode;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[0].P_S_WorkPos = ST13ServoParam_Global.aWork[0].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[0].P_S_WorkSpeed = ST13ServoParam_Global.aWork[0].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[1].P_S_WorkPos = ST13ServoParam_Global.aWork[1].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[1].P_S_WorkSpeed = ST13ServoParam_Global.aWork[1].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[2].P_S_WorkPos = ST13ServoParam_Global.aWork[2].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[2].P_S_WorkSpeed = ST13ServoParam_Global.aWork[2].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[3].P_S_WorkPos = ST13ServoParam_Global.aWork[3].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[3].P_S_WorkSpeed = ST13ServoParam_Global.aWork[3].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[4].P_S_WorkPos = ST13ServoParam_Global.aWork[4].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[4].P_S_WorkSpeed = ST13ServoParam_Global.aWork[4].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[5].P_S_WorkPos = ST13ServoParam_Global.aWork[5].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[5].P_S_WorkSpeed = ST13ServoParam_Global.aWork[5].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[6].P_S_WorkPos = ST13ServoParam_Global.aWork[6].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[6].P_S_WorkSpeed = ST13ServoParam_Global.aWork[6].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[7].P_S_WorkPos = ST13ServoParam_Global.aWork[7].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[7].P_S_WorkSpeed = ST13ServoParam_Global.aWork[7].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[8].P_S_WorkPos = ST13ServoParam_Global.aWork[8].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[8].P_S_WorkSpeed = ST13ServoParam_Global.aWork[8].aWorkSpeed;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[9].P_S_WorkPos = ST13ServoParam_Global.aWork[9].aWorkPos;
                        objw.ClassOP30ParameterServoArr_3[1].ClassParameterServoPosArr_10[9].P_S_WorkSpeed = ST13ServoParam_Global.aWork[9].aWorkSpeed;


                        objw.ClassParameterSensor.P_I_ByPassArr = InductorParam_Global.aByPass;
                        objw.ClassParameterSensor.P_I_DelayArr = InductorParam_Global.aDelay;



                        //objw.ClassOP30ParameterTechnology.ClassParameterTechnologyLimitPinWidth.LimitL = TechniqueParam_Global.nPinWidthLimitDown;
                        //objw.ClassOP30ParameterTechnology.ClassParameterTechnologyLimitPinWidth.LimitH = TechniqueParam_Global.nPinWidthLimitUp;
                        //objw.ClassOP30ParameterTechnology.ClassParameterTechnologyWeldPress.LimitL = TechniqueParam_Global.nWeldPressLimitDown;
                        //objw.ClassOP30ParameterTechnology.ClassParameterTechnologyWeldPress.LimitH = TechniqueParam_Global.nWeldPressLimitUp;
                        //objw.ClassOP30ParameterTechnology.ClassParametetTechnologyWeldArea.LimitL = TechniqueParam_Global.nWeldAreaLimitDown;
                        //objw.ClassOP30ParameterTechnology.ClassParametetTechnologyWeldArea.LimitH = TechniqueParam_Global.nWeldAreaLimitUp;
                        //objw.ClassOP30ParameterTechnology.ClassParameterTechnologyPara.ParaDataArr[0] = TechniqueParam_Global.nParaData1;
                        //objw.ClassOP30ParameterTechnology.ClassParameterTechnologyPara.ParaDataArr[1] = TechniqueParam_Global.nParaData2;
                        //objw.ClassOP30ParameterTechnology.ClassParameterTechnologyPara.ParaDataArr[2] = TechniqueParam_Global.nParaData3;
                        //objw.ClassOP30ParameterTechnology.ClassParameterTechnologyPara.ParaDataArr[3] = TechniqueParam_Global.nParaData4;

                        objw.ClassOP30ParameterLifeControl.LifeControl_nParaData1 = UseCount_Global.nParaData1;
                        objw.ClassOP30ParameterLifeControl.LifeControl_nParaData2 = UseCount_Global.nParaData2;
                        objw.ClassOP30ParameterLifeControl.LifeControl_nParaData3 = UseCount_Global.nParaData3;
                        objw.ClassOP30ParameterLifeControl.LifeControl_nParaData4 = UseCount_Global.nParaData4;
                        objw.ClassOP30ParameterLifeControl.LifeControl_nParaData5 = UseCount_Global.nParaData5;
                        objw.ClassOP30ParameterLifeControl.LifeControl_nParaData6 = UseCount_Global.nParaData6;


                        objw.ClassParameterContinuousNG.ContinuousNGArr[0] = ContinuousNGCount_GLobal.nParaData0;
                        objw.ClassParameterContinuousNG.ContinuousNGArr[1] = ContinuousNGCount_GLobal.nParaData1;
                        objw.ClassParameterContinuousNG.ContinuousNGArr[2] = ContinuousNGCount_GLobal.nParaData2;
                        objw.ClassParameterContinuousNG.ContinuousNGArr[3] = ContinuousNGCount_GLobal.nParaData3;
                        objw.ClassParameterContinuousNG.ContinuousNGArr[4] = ContinuousNGCount_GLobal.nParaData4;
                        objw.ClassParameterContinuousNG.ContinuousNGArr[5] = ContinuousNGCount_GLobal.nParaData5;
                        objw.ClassParameterContinuousNG.ContinuousNGArr[6] = ContinuousNGCount_GLobal.nParaData6;
                        objw.ClassParameterContinuousNG.ContinuousNGArr[7] = ContinuousNGCount_GLobal.nParaData7;
                        objw.ClassParameterContinuousNG.ContinuousNGArr[8] = ContinuousNGCount_GLobal.nParaData8;
                        objw.ClassParameterContinuousNG.ContinuousNGArr[9] = ContinuousNGCount_GLobal.nParaData9;




                    }
                    break;
                case nameof(ClassServoArrW):
                    {


                        var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassServoArrW>();

                        output.SiemensOtherInfo.ObjW = objw;

                        objw.ClassServoWArr_6[0].Servo_BitW[0] = ST5Servo_Global.servoPCToPLC_Global.bReleaseBT;
                        objw.ClassServoWArr_6[0].Servo_BitW[1] = ST5Servo_Global.servoPCToPLC_Global.bHomeBT;
                        objw.ClassServoWArr_6[0].Servo_BitW[2] = ST5Servo_Global.servoPCToPLC_Global.bForwardBT;
                        objw.ClassServoWArr_6[0].Servo_BitW[3] = ST5Servo_Global.servoPCToPLC_Global.bReverseBT;
                        objw.ClassServoWArr_6[0].Servo_BitW[4] = ST5Servo_Global.servoPCToPLC_Global.bManualMoveBT;
                        objw.ClassServoWArr_6[0].Servo_BitW[5] = ST5Servo_Global.servoPCToPLC_Global.bBackAutoPosBT;
                        objw.ClassServoWArr_6[0].Servo_HmiIndexW = Convert.ToUInt16(ST5Servo_Global.servoPCToPLC_Global.nHmiIndex);


                        objw.ClassServoWArr_6[1].Servo_BitW[0] = ST13Servo_Global.servoPCToPLC_Global.bReleaseBT;
                        objw.ClassServoWArr_6[1].Servo_BitW[1] = ST13Servo_Global.servoPCToPLC_Global.bHomeBT;
                        objw.ClassServoWArr_6[1].Servo_BitW[2] = ST13Servo_Global.servoPCToPLC_Global.bForwardBT;
                        objw.ClassServoWArr_6[1].Servo_BitW[3] = ST13Servo_Global.servoPCToPLC_Global.bReverseBT;
                        objw.ClassServoWArr_6[1].Servo_BitW[4] = ST13Servo_Global.servoPCToPLC_Global.bManualMoveBT;
                        objw.ClassServoWArr_6[1].Servo_BitW[5] = ST13Servo_Global.servoPCToPLC_Global.bBackAutoPosBT;
                        objw.ClassServoWArr_6[1].Servo_HmiIndexW = Convert.ToUInt16(ST13Servo_Global.servoPCToPLC_Global.nHmiIndex);



                    }

                    break;
                case nameof(ClassOP30CylinderW):
                    {
                        var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassOP30CylinderW>();
                        output.SiemensOtherInfo.ObjW = objw;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_BitW[0] = ST01MaterialSpiltCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_BitW[1] = ST01MaterialSpiltCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_BitW[2] = ST01MaterialSpiltCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_BackTimeW = ST01MaterialSpiltCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[0].Cylinder_GoTimeW = ST01MaterialSpiltCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_BitW[0] = ST01ProductClampCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_BitW[1] = ST01ProductClampCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_BitW[2] = ST01ProductClampCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_BackTimeW = ST01ProductClampCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[1].Cylinder_GoTimeW = ST01ProductClampCy.cylinderPCToPLC_Global.tGoTime;


                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_BitW[0] = ST01ClampChuoWeiCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_BitW[1] = ST01ClampChuoWeiCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_BitW[2] = ST01ClampChuoWeiCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_BackTimeW = ST01ClampChuoWeiCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[2].Cylinder_GoTimeW = ST01ClampChuoWeiCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_BitW[0] = ST01LoadJackCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_BitW[1] = ST01LoadJackCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_BitW[2] = ST01LoadJackCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_BackTimeW = ST01LoadJackCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[3].Cylinder_GoTimeW = ST01LoadJackCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_BitW[0] = ST01LoadChuoWeiCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_BitW[1] = ST01LoadChuoWeiCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_BitW[2] = ST01LoadChuoWeiCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_BackTimeW = ST01LoadChuoWeiCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[4].Cylinder_GoTimeW = ST01LoadChuoWeiCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_BitW[0] = ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_BitW[1] = ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_BitW[2] = ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_BackTimeW = ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[5].Cylinder_GoTimeW = ST01CarryJiaZhua01Cy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_BitW[0] = ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_BitW[1] = ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_BitW[2] = ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_BackTimeW = ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[6].Cylinder_GoTimeW = ST01CarryJiaZhua02Cy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_BitW[0] = ST01CarrySpinCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_BitW[1] = ST01CarrySpinCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_BitW[2] = ST01CarrySpinCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_BackTimeW = ST01CarrySpinCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[7].Cylinder_GoTimeW = ST01CarrySpinCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_BitW[0] = ST01CarryUpDownCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_BitW[1] = ST01CarryUpDownCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_BitW[2] = ST01CarryUpDownCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_BackTimeW = ST01CarryUpDownCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[8].Cylinder_GoTimeW = ST01CarryUpDownCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_BitW[0] = ST01CarrierOpenCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_BitW[1] = ST01CarrierOpenCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_BitW[2] = ST01CarrierOpenCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_BackTimeW = ST01CarrierOpenCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[1].ClassCylinderWArr_15[9].Cylinder_GoTimeW = ST01CarrierOpenCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_BitW[0] = ST3UpDownCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_BitW[1] = ST3UpDownCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_BitW[2] = ST3UpDownCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_BackTimeW = ST3UpDownCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[3].ClassCylinderWArr_15[0].Cylinder_GoTimeW = ST3UpDownCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_BitW[0] = ST5UpDownCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_BitW[1] = ST5UpDownCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_BitW[2] = ST5UpDownCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_BackTimeW = ST5UpDownCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[0].Cylinder_GoTimeW = ST5UpDownCy.cylinderPCToPLC_Global.tGoTime;


                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_BitW[0] = ST5JackCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_BitW[1] = ST5JackCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_BitW[2] = ST5JackCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_BackTimeW = ST5JackCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[1].Cylinder_GoTimeW = ST5JackCy.cylinderPCToPLC_Global.tGoTime;


                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_BitW[0] = ST5ShielddUpDownCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_BitW[1] = ST5ShielddUpDownCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_BitW[2] = ST5ShielddUpDownCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_BackTimeW = ST5ShielddUpDownCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[2].Cylinder_GoTimeW = ST5ShielddUpDownCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_BitW[0] = ST5CarrierOpenCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_BitW[1] = ST5CarrierOpenCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_BitW[2] = ST5CarrierOpenCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_BackTimeW = ST5CarrierOpenCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[5].ClassCylinderWArr_15[3].Cylinder_GoTimeW = ST5CarrierOpenCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_BitW[0] = ST9CoolBlowCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_BitW[1] = ST9CoolBlowCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_BitW[2] = ST9CoolBlowCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_BackTimeW = ST9CoolBlowCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[9].ClassCylinderWArr_15[0].Cylinder_GoTimeW = ST9CoolBlowCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_BitW[0] = ST11UpDownCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_BitW[1] = ST11UpDownCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_BitW[2] = ST11UpDownCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_BackTimeW = ST11UpDownCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[0].Cylinder_GoTimeW = ST11UpDownCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_BitW[0] = ST11CarrierJackCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_BitW[1] = ST11CarrierJackCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_BitW[2] = ST11CarrierJackCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_BackTimeW = ST11CarrierJackCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[11].ClassCylinderWArr_15[1].Cylinder_GoTimeW = ST11CarrierJackCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_BitW[0] = ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_BitW[1] = ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_BitW[2] = ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_BackTimeW = ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[0].Cylinder_GoTimeW = ST13DownMaterialJiaZhuaCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_BitW[0] = ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_BitW[1] = ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_BitW[2] = ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_BackTimeW = ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[1].Cylinder_GoTimeW = ST13DownMaterialUpDownCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_BitW[0] = ST13DownMaterialCarryCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_BitW[1] = ST13DownMaterialCarryCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_BitW[2] = ST13DownMaterialCarryCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_BackTimeW = ST13DownMaterialCarryCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[2].Cylinder_GoTimeW = ST13DownMaterialCarryCy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_BitW[0] = ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_BitW[1] = ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_BitW[2] = ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_BackTimeW = ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[3].Cylinder_GoTimeW = ST13SpinJiaZhua01Cy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_BitW[0] = ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_BitW[1] = ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_BitW[2] = ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_BackTimeW = ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[4].Cylinder_GoTimeW = ST13SpinJiaZhua02Cy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_BitW[0] = ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_BitW[1] = ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_BitW[2] = ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_BackTimeW = ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[5].Cylinder_GoTimeW = ST13SpinJiaZhua03Cy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_BitW[0] = ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_BitW[1] = ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_BitW[2] = ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_BackTimeW = ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[13].ClassCylinderWArr_15[6].Cylinder_GoTimeW = ST13SpinJiaZhua04Cy.cylinderPCToPLC_Global.tGoTime;

                        objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_BitW[0] = ST16UpDownCy.cylinderPCToPLC_Global.bManualBT;
                        objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_BitW[1] = ST16UpDownCy.cylinderPCToPLC_Global.bOrgSenByPass;
                        objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_BitW[2] = ST16UpDownCy.cylinderPCToPLC_Global.bWorkSenByPass;
                        objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_BackTimeW = ST16UpDownCy.cylinderPCToPLC_Global.tBackTime;
                        objw.ClassOP30StationCylinderW_17[15].ClassCylinderWArr_15[0].Cylinder_GoTimeW = ST16UpDownCy.cylinderPCToPLC_Global.tGoTime;

                    }

                    break;

                case nameof(ClassTurntableW):

                    {
                        var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassTurntableW>();
                        output.SiemensOtherInfo.ObjW = objw;
                        objw.Turntable_BitW[0] = TurntablePCToPLC_Global.bHomeBT;
                        objw.Turntable_BitW[1] = TurntablePCToPLC_Global.bJogBT;
                        objw.Turntable_BitW[2] = TurntablePCToPLC_Global.WeldMaualMode;
                        objw.Turntable_BitW[3] = TurntablePCToPLC_Global.WeldTextBT;
                        objw.Turntable_BitW[4] = TurntablePCToPLC_Global.WeldONBT;
                        objw.Turntable_BitW[5] = TurntablePCToPLC_Global.bIn5;
                        objw.Turntable_BitW[6] = TurntablePCToPLC_Global.bIn6;
                        objw.Turntable_BitW[7] = TurntablePCToPLC_Global.bIn7;

                        objw.Turntable_ReservedW[0] = TurntablePCToPLC_Global.nPressSetValue;
                        objw.Turntable_ReservedW[1] = TurntablePCToPLC_Global.nCheckValue;
                        objw.Turntable_ReservedW[2] = TurntablePCToPLC_Global.nCheckOffset;

                    }
                    break;
                case nameof(ClassSystemW):
                    {
                        var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassSystemW>();
                        output.SiemensOtherInfo.ObjW = objw;

                        objw.System_BitW[0] = SystemPCToPLC_Global.bManualModeBT;
                        objw.System_BitW[1] = SystemPCToPLC_Global.bInitialBT;
                        objw.System_BitW[2] = SystemPCToPLC_Global.bHMIStart;
                        objw.System_BitW[3] = SystemPCToPLC_Global.bHMIStop;
                        objw.System_BitW[4] = SystemPCToPLC_Global.bHMIStep;
                        objw.System_BitW[5] = SystemPCToPLC_Global.bHMIReset;
                        objw.System_BitW[6] = SystemPCToPLC_Global.bHMICycleStop;
                        objw.System_BitW[7] = SystemPCToPLC_Global.bCountClearBtn;
                        objw.System_BitW[8] = SystemPCToPLC_Global.bClearMatBtn;
                        objw.System_BitW[9] = SystemPCToPLC_Global.bLEDPowerBtn;
                        objw.System_BitW[10] = SystemPCToPLC_Global.bDryRunBtn;
                        objw.System_BitW[11] = SystemPCToPLC_Global.bDoorByPass;
                        objw.System_BitW[12] = SystemPCToPLC_Global.bPcDisableBtn;
                        objw.System_BitW[13] = SystemPCToPLC_Global.bCcdDisableBtn;
                        objw.System_BitW[14] = SystemPCToPLC_Global.bWeldByPass;
                        objw.System_BitW[15] = SystemPCToPLC_Global.bTurntableByPass;


                        objw.System_CarrierByPass = SystemPCToPLC_Global.bCarrierByPass;
                    }

                    break;
                case nameof(ClassOP30StationArrW):
                    {
                        var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassOP30StationArrW>();
                        output.SiemensOtherInfo.ObjW = objw;

                        objw.ClassOP30StationWArr_17[0].Station_BitW[0] = ST0Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[1] = ST0Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[2] = ST0Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[3] = ST0Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[4] = ST0Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[5] = ST0Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[6] = ST0Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[7] = ST0Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[8] = ST0Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[9] = ST0Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[10] = ST0Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[11] = ST0Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[12] = ST0Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[13] = ST0Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[14] = ST0Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[0].Station_BitW[15] = ST0Station_Global.stationPCToPLC.bIn7;



                        objw.ClassOP30StationWArr_17[1].Station_BitW[0] = ST1Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[1] = ST1Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[2] = ST1Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[3] = ST1Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[4] = ST1Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[5] = ST1Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[6] = ST1Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[7] = ST1Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[8] = ST1Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[9] = ST1Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[10] = ST1Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[11] = ST1Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[12] = ST1Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[13] = ST1Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[14] = ST1Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[1].Station_BitW[15] = ST1Station_Global.stationPCToPLC.bIn7;


                        objw.ClassOP30StationWArr_17[2].Station_BitW[0] = ST2Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[1] = ST2Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[2] = ST2Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[3] = ST2Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[4] = ST2Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[5] = ST2Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[6] = ST2Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[7] = ST2Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[8] = ST2Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[9] = ST2Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[10] = ST2Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[11] = ST2Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[12] = ST2Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[13] = ST2Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[14] = ST2Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[2].Station_BitW[15] = ST2Station_Global.stationPCToPLC.bIn7;


                        objw.ClassOP30StationWArr_17[3].Station_BitW[0] = ST3Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[1] = ST3Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[2] = ST3Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[3] = ST3Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[4] = ST3Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[5] = ST3Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[6] = ST3Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[7] = ST3Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[8] = ST3Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[9] = ST3Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[10] = ST3Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[11] = ST3Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[12] = ST3Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[13] = ST3Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[14] = ST3Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[3].Station_BitW[15] = ST3Station_Global.stationPCToPLC.bIn7;



                        objw.ClassOP30StationWArr_17[4].Station_BitW[0] = ST4Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[1] = ST4Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[2] = ST4Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[3] = ST4Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[4] = ST4Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[5] = ST4Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[6] = ST4Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[7] = ST4Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[8] = ST4Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[9] = ST4Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[10] = ST4Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[11] = ST4Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[12] = ST4Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[13] = ST4Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[14] = ST4Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[4].Station_BitW[15] = ST4Station_Global.stationPCToPLC.bIn7;



                        objw.ClassOP30StationWArr_17[5].Station_BitW[0] = ST5Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[1] = ST5Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[2] = ST5Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[3] = ST5Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[4] = ST5Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[5] = ST5Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[6] = ST5Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[7] = ST5Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[8] = ST5Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[9] = ST5Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[10] = ST5Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[11] = ST5Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[12] = ST5Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[13] = ST5Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[14] = ST5Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[5].Station_BitW[15] = ST5Station_Global.stationPCToPLC.bIn7;



                        objw.ClassOP30StationWArr_17[6].Station_BitW[0] = ST6Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[1] = ST6Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[2] = ST6Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[3] = ST6Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[4] = ST6Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[5] = ST6Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[6] = ST6Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[7] = ST6Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[8] = ST6Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[9] = ST6Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[10] = ST6Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[11] = ST6Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[12] = ST6Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[13] = ST6Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[14] = ST6Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[6].Station_BitW[15] = ST6Station_Global.stationPCToPLC.bIn7;



                        objw.ClassOP30StationWArr_17[7].Station_BitW[0] = ST7Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[1] = ST7Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[2] = ST7Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[3] = ST7Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[4] = ST7Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[5] = ST7Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[6] = ST7Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[7] = ST7Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[8] = ST7Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[9] = ST7Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[10] = ST7Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[11] = ST7Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[12] = ST7Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[13] = ST7Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[14] = ST7Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[7].Station_BitW[15] = ST7Station_Global.stationPCToPLC.bIn7;



                        objw.ClassOP30StationWArr_17[8].Station_BitW[0] = ST8Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[1] = ST8Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[2] = ST8Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[3] = ST8Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[4] = ST8Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[5] = ST8Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[6] = ST8Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[7] = ST8Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[8] = ST8Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[9] = ST8Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[10] = ST8Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[11] = ST8Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[12] = ST8Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[13] = ST8Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[14] = ST8Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[8].Station_BitW[15] = ST8Station_Global.stationPCToPLC.bIn7;


                        objw.ClassOP30StationWArr_17[9].Station_BitW[0] = ST9Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[1] = ST9Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[2] = ST9Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[3] = ST9Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[4] = ST9Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[5] = ST9Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[6] = ST9Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[7] = ST9Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[8] = ST9Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[9] = ST9Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[10] = ST9Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[11] = ST9Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[12] = ST9Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[13] = ST9Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[14] = ST9Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[9].Station_BitW[15] = ST9Station_Global.stationPCToPLC.bIn7;


                        objw.ClassOP30StationWArr_17[10].Station_BitW[0] = ST10Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[1] = ST10Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[2] = ST10Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[3] = ST10Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[4] = ST10Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[5] = ST10Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[6] = ST10Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[7] = ST10Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[8] = ST10Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[9] = ST10Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[10] = ST10Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[11] = ST10Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[12] = ST10Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[13] = ST10Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[14] = ST10Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[10].Station_BitW[15] = ST10Station_Global.stationPCToPLC.bIn7;

                        objw.ClassOP30StationWArr_17[11].Station_BitW[0] = ST11Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[1] = ST11Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[2] = ST11Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[3] = ST11Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[4] = ST11Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[5] = ST11Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[6] = ST11Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[7] = ST11Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[8] = ST11Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[9] = ST11Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[10] = ST11Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[11] = ST11Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[12] = ST11Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[13] = ST11Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[14] = ST11Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[11].Station_BitW[15] = ST11Station_Global.stationPCToPLC.bIn7;


                        objw.ClassOP30StationWArr_17[12].Station_BitW[0] = ST12Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[1] = ST12Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[2] = ST12Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[3] = ST12Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[4] = ST12Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[5] = ST12Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[6] = ST12Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[7] = ST12Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[8] = ST12Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[9] = ST12Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[10] = ST12Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[11] = ST12Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[12] = ST12Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[13] = ST12Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[14] = ST12Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[12].Station_BitW[15] = ST12Station_Global.stationPCToPLC.bIn7;


                        objw.ClassOP30StationWArr_17[13].Station_BitW[0] = ST13Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[1] = ST13Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[2] = ST13Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[3] = ST13Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[4] = ST13Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[5] = ST13Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[6] = ST13Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[7] = ST13Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[8] = ST13Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[9] = ST13Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[10] = ST13Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[11] = ST13Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[12] = ST13Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[13] = ST13Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[14] = ST13Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[13].Station_BitW[15] = ST13Station_Global.stationPCToPLC.bIn7;


                        objw.ClassOP30StationWArr_17[14].Station_BitW[0] = ST14Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[1] = ST14Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[2] = ST14Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[3] = ST14Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[4] = ST14Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[5] = ST14Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[6] = ST14Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[7] = ST14Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[8] = ST14Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[9] = ST14Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[10] = ST14Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[11] = ST14Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[12] = ST14Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[13] = ST14Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[14] = ST14Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[14].Station_BitW[15] = ST14Station_Global.stationPCToPLC.bIn7;


                        objw.ClassOP30StationWArr_17[15].Station_BitW[0] = ST16Station_Global.stationPCToPLC.bInitialST;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[1] = ST16Station_Global.stationPCToPLC.bDisableBT;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[2] = ST16Station_Global.stationPCToPLC.bCycleStartBT;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[3] = ST16Station_Global.stationPCToPLC.bSignSTstartBT;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[4] = ST16Station_Global.stationPCToPLC.bGT2CheckBT;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[5] = ST16Station_Global.stationPCToPLC.bPressCheckBT;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[6] = ST16Station_Global.stationPCToPLC.bClearCounter;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[7] = ST16Station_Global.stationPCToPLC.bOtherByPass1;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[8] = ST16Station_Global.stationPCToPLC.bOtherByPass2;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[9] = ST16Station_Global.stationPCToPLC.bSpotCheckBT;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[10] = ST16Station_Global.stationPCToPLC.bIn2;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[11] = ST16Station_Global.stationPCToPLC.bIn3;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[12] = ST16Station_Global.stationPCToPLC.bIn4;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[13] = ST16Station_Global.stationPCToPLC.bIn5;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[14] = ST16Station_Global.stationPCToPLC.bIn6;
                        objw.ClassOP30StationWArr_17[15].Station_BitW[15] = ST16Station_Global.stationPCToPLC.bIn7;


                        //objw.ClassOP30StationWArr_17[16].Station_BitW[0] = ST16Station_Global.stationPCToPLC.bInitialST;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[1] = ST16Station_Global.stationPCToPLC.bDisableBT;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[2] = ST16Station_Global.stationPCToPLC.bCycleStartBT;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[3] = ST16Station_Global.stationPCToPLC.bSignSTstartBT;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[4] = ST16Station_Global.stationPCToPLC.bGT2CheckBT;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[5] = ST16Station_Global.stationPCToPLC.bPressCheckBT;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[6] = ST16Station_Global.stationPCToPLC.bClearCounter;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[7] = ST16Station_Global.stationPCToPLC.bOtherByPass1;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[8] = ST16Station_Global.stationPCToPLC.bOtherByPass2;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[9] = ST16Station_Global.stationPCToPLC.bSpotCheckBT;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[10] = ST16Station_Global.stationPCToPLC.bIn2;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[11] = ST16Station_Global.stationPCToPLC.bIn3;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[12] = ST16Station_Global.stationPCToPLC.bIn4;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[13] = ST16Station_Global.stationPCToPLC.bIn5;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[14] = ST16Station_Global.stationPCToPLC.bIn6;
                        //objw.ClassOP30StationWArr_17[16].Station_BitW[15] = ST16Station_Global.stationPCToPLC.bIn7;



                    }
                    break;
                case nameof(ClassOP30CCDW):
                    {
                        var objw = output.SiemensOtherInfo.ObjW.JObjToClass<ClassOP30CCDW>();
                        output.SiemensOtherInfo.ObjW = objw;

                        objw.CCD_BitW[0] = CCDPCToPLC_Global.ST3bAutoTrigger;
                        objw.CCD_BitW[1] = CCDPCToPLC_Global.ST3DisableBT;
                        objw.CCD_BitW[2] = CCDPCToPLC_Global.ST3LightBT;
                        objw.CCD_BitW[3] = CCDPCToPLC_Global.ST3BIn3;
                        objw.CCD_BitW[4] = CCDPCToPLC_Global.ST3bIn4;
                        objw.CCD_BitW[5] = CCDPCToPLC_Global.ST3bIn5;
                        objw.CCD_BitW[6] = CCDPCToPLC_Global.ST3bIn6;
                        objw.CCD_BitW[7] = CCDPCToPLC_Global.ST3bIn7;
                        objw.CCD_BitW[8] = CCDPCToPLC_Global.ST11ManualTrigger;
                        objw.CCD_BitW[9] = CCDPCToPLC_Global.ST11DisableBT;
                        objw.CCD_BitW[10] = CCDPCToPLC_Global.ST11LightBT;
                        objw.CCD_BitW[11] = CCDPCToPLC_Global.ST5bIn8;
                        objw.CCD_BitW[12] = CCDPCToPLC_Global.ST5bIn9;
                        objw.CCD_BitW[13] = CCDPCToPLC_Global.ST5bIn10;
                        objw.CCD_BitW[14] = CCDPCToPLC_Global.ST5bIn11;
                        objw.CCD_BitW[15] = CCDPCToPLC_Global.ST5bIn12;

                        objw.CCD_ST3ModeW = CCDPCToPLC_Global.ST3Mode;
                        objw.CCD_nParaData1W = CCDPCToPLC_Global.nParaData1;
                        objw.CCD_nParaData2W = CCDPCToPLC_Global.nParaData2;
                        objw.CCD_nParaData3W = CCDPCToPLC_Global.nParaData3;
                    }
                    break;
                default:
                    break;
            }

        }



        public async Task OnSmartOtherCallBack(SiemensOtherSignalROutput output)
        {
            if (output.SiemensInfo.Name == "OP30")
            {
                ParseSignalRObjR(output);
                ParseSignalRObjW(output);

                await _smartService.SendSmartOtherToServiceAsync(output);
                CopyArrToAlarms();
            }


        }

        public Task OnSmartStateCallBack(GetConnSiemensesOutput output)
        {
            foreach (var item in output.SiemensOutputs)
            {
                if (item.Ip == "192.168.0.30")
                {
                    if (item.ItemStatus == EnumPLC_Item_Status.Run)
                    {
                        PlcState = 2;
                    }
                    else if (item.ItemStatus == EnumPLC_Item_Status.Stop)
                    {
                        PlcState = 1;
                    }
                }
            }
            return Task.CompletedTask;
        }

        #endregion


        #region 报警数组赋值

        private void CopyArrToAlarms()
        {
            //工站+系统
            Array.Copy(SystemPLCToPC_Global.nHMIDisplay_SYS, 0, Alarm_Global.Alarms, 0, 16);
            Array.Copy(SystemPLCToPC_Global.nHMIDisplay_DoorEstopAlarm, 0, Alarm_Global.Alarms, 16, 16);
            Array.Copy(SystemPLCToPC_Global.nHMIDisplay_EstopAlarm, 0, Alarm_Global.Alarms, 32, 16);
            Array.Copy(SystemPLCToPC_Global.nHMIDisplay_OtherDevice, 0, Alarm_Global.Alarms, 48, 16);
            Array.Copy(SystemPLCToPC_Global.nHMIDisplay_Connect, 0, Alarm_Global.Alarms, 64, 16);
            Array.Copy(SystemPLCToPC_Global.nHMIDispaly_NoMaterial, 0, Alarm_Global.Alarms, 80, 16);
            Array.Copy(SystemPLCToPC_Global.nHMIDispaly_Warn1, 0, Alarm_Global.Alarms, 96, 16);
            Array.Copy(SystemPLCToPC_Global.nHMIDispaly_Warn2, 0, Alarm_Global.Alarms, 112, 16);


            Array.Copy(ST0Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 128, 16);
            Array.Copy(ST0Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 144, 16);
            Array.Copy(ST1Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 160, 16);
            Array.Copy(ST1Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 176, 16);
            Array.Copy(ST2Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 192, 16);
            Array.Copy(ST2Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 208, 16);
            Array.Copy(ST3Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 224, 16);
            Array.Copy(ST3Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 240, 16);
            Array.Copy(ST4Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 256, 16);
            Array.Copy(ST4Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 272, 16);
            Array.Copy(ST5Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 288, 16);
            Array.Copy(ST5Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 304, 16);
            Array.Copy(ST6Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 320, 16);
            Array.Copy(ST6Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 336, 16);
            Array.Copy(ST7Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 352, 16);
            Array.Copy(ST7Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 368, 16);
            Array.Copy(ST8Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 384, 16);
            Array.Copy(ST8Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 400, 16);
            Array.Copy(ST9Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 416, 16);
            Array.Copy(ST9Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 432, 16);
            Array.Copy(ST10Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 448, 16);
            Array.Copy(ST10Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 464, 16);
            Array.Copy(ST11Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 480, 16);
            Array.Copy(ST11Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 496, 16);
            Array.Copy(ST12Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 512, 16);
            Array.Copy(ST12Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 528, 16);
            Array.Copy(ST13Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 544, 16);
            Array.Copy(ST13Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 560, 16);
            Array.Copy(ST14Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 576, 16);
            Array.Copy(ST14Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 592, 16);
            Array.Copy(ST16Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 608, 16);
            Array.Copy(ST16Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 624, 16);
            //Array.Copy(ST16Station_Global.stationPLCToPC.nOtherAlarmDisplay, 0, Alarm_Global.Alarms, 640, 16);
            //Array.Copy(ST16Station_Global.stationPLCToPC.nOtherAlarmDisplay2, 0, Alarm_Global.Alarms, 656, 16);
            //气缸+伺服

            Array.Copy(ST01MaterialSpiltCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 672, 16);
            Array.Copy(ST01ProductClampCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 688, 16);
            Array.Copy(ST01ClampChuoWeiCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 704, 16);
            Array.Copy(ST01LoadJackCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 720, 16);
            Array.Copy(ST01LoadChuoWeiCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 736, 16);
            Array.Copy(ST01CarryJiaZhua01Cy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 752, 16);
            Array.Copy(ST01CarryJiaZhua02Cy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 768, 16);
            Array.Copy(ST01CarrySpinCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 784, 16);
            Array.Copy(ST01CarryUpDownCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 800, 16);
            Array.Copy(ST01CarrierOpenCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 816, 16);
            Array.Copy(ST3UpDownCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 832, 16);
            Array.Copy(ST5UpDownCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 848, 16);
            Array.Copy(ST5JackCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 864, 16);
            Array.Copy(ST5ShielddUpDownCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 880, 16);
            Array.Copy(ST5CarrierOpenCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 896, 16);
            Array.Copy(ST9CoolBlowCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 912, 16);
            Array.Copy(ST11UpDownCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 928, 16);
            Array.Copy(ST11CarrierJackCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 944, 16);
            Array.Copy(ST13DownMaterialJiaZhuaCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 960, 16);
            Array.Copy(ST13DownMaterialUpDownCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 976, 16);
            Array.Copy(ST13DownMaterialCarryCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 992, 16);
            Array.Copy(ST13SpinJiaZhua01Cy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 1008, 16);
            Array.Copy(ST13SpinJiaZhua02Cy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 1024, 16);
            Array.Copy(ST13SpinJiaZhua03Cy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 1040, 16);
            Array.Copy(ST13SpinJiaZhua04Cy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 1056, 16);
            Array.Copy(ST16UpDownCy.cylinderPLCToPC_Global.nHmiDisplay, 0, Alarm_Global.Alarms, 1072, 16);



            Array.Copy(ST5Servo_Global.ServoPLCToPC_Global.nAralmHMIdiaplay, 0, Alarm_Global.Alarms, 1088, 16);
            Array.Copy(ST13Servo_Global.ServoPLCToPC_Global.nAralmHMIdiaplay, 0, Alarm_Global.Alarms, 1104, 16);



        }
        #endregion
    }
}
